doy documentation
The doy function returns the Julian day of year.
See also day.
Back to Climate Data Tools Contents.
Contents
Syntax
n = doy(t) n = doy(t,'decimalyear') n = doy(t,'remdecimalyear')
Description
n = doy(t) gives the day of year (from 1 to 366.999) corresponding to the date(s) given by t. Input dates can be datenum, datetime, or string format.
n = doy(t,'decimalyear') gives the year in decimal form of input date t. It accounts for leap years, so the decimal value for a given date will depend on whether it's a leap year. For example, July 4th of 2016 (a leap year) is 2016.5082 whereas July 4th of 2017 (not a leap year) is 2017.5068.
n = doy(t,'remdecimalyear') returns only the remainder of the decimal year, and is always in the range 0 to 1.
Example 1: datestr format
What's the Julian day of the year for Valentine's Day?
doy('february 14')
ans = 45.00
45. That's because there are 31 days in January, and Valentine's Day is on the 14th of February.
Example 2: datenum format
As I write this example file, it is
>>now ans = 737427.95
which means it has been 737427 days since January first of the year zero. So what day of the year is it right now?
doy(737427.95)
ans = 2.95
As you can see, it is late at night on January 2nd. Only 5% of the day remains.
Example 3: datetime format
Consider this sea ice extent data:
load seaice_extent.mat whos extent_N t % displays sizes of these variables
Name Size Bytes Class Attributes extent_N 12854x1 102832 double t 12854x1 205665 datetime
The variable t is in datetime format, and it contains one date just about every from 1978 to 2018. Here's the time series:
plot(t,extent_N) ylabel 'sea ice extent (10^6 km^2)' box off % removes the ugly frame

Plot the data as a function of Julian day like this
jday = doy(t); scatter(jday,extent_N,10,datenum(t),'filled') cb = cbdate('yyyy'); % formats the colorbar as dates set(cb,'ydir','reverse') % flips the colorbar axis axis tight ylabel 'northern hemisphere sea ice extent (10^6 km^2)' xlabel 'day of year'

Author Info
This function is part of the Climate Data Toolbox for Matlab. The function and supporting documentation were written by Chad A. Greene of the University of Texas at Austin.