What's the Current Day Number?

Today Friday March 23, 2018 is ...

Day 82

Day of year is a number between 1 and 365 (in 2018), January 1 is day 1.
After today there are 283 days remaining in this year.

This page uses the ISO-8601 ordinal date format.

There is also another less-used format: the 'ISO day of year' numbers, this is a number between 1 and 371, day 1 of the year is Monday of the first ISO week (where the first Thursday of the new year is in week 1).

Lists of day numbers by year : 2017 - 2018 - 2019 - 2020 ...

Programming routines

Microsoft Excel

or with a custom date:

Substract the day before Jan 1 from todays date.


$dayNumber = date("z") + 1; 
You can use an epoch to find other day numbers:
date("z", epoch) + 1
date("z") starts counting from 0 (0 through 365)!


from datetime import datetime
day_of_year = datetime.now().timetuple().tm_yday


use Time::Piece;
my $day_of_year = localtime->yday + 1;

# ... or ...
my $day_of_year = (localtime)[7] +1;

# ... or (if you really want to use POSIX) ...
use POSIX;
my $day_of_year = POSIX::strftime("%j", time);

Replace time with other epochs for other days.


Day number between 1 and 366. Replace now() with other dates eg.:
SELECT DAYOFYEAR('2008-02-20');


select to_char(sysdate, 'DDD') from dual
select to_char(to_date('2008-02-20','YYYY-MM-DD'), 'DDD') from dual

Microsoft Access

DatePart("y", Now())

Visual Basic (VB.NET)

Dim dayOfYear As Integer = DateTime.Now.DayOfYear


Add a 'Day of Year' method to the date object:
'Day of Year Date Method' on About.com


date +%j



LibreOffice Calc:


Objective C

int currentDay;
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"D"];
date = [NSDate date];
currentDay = [[dateFormatter stringFromDate:date] intValue];


Read the comment below by Mmars.


int iDayOfYear = System.DateTime.UtcNow.DayOfYear;


format(Sys.Date(), "%j")


import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class DayOfYear

public static void main(String args[])

Calendar localCalendar = Calendar.getInstance(TimeZone.getDefault());
int CurrentDayOfYear = localCalendar.get(Calendar.DAY_OF_YEAR);
System.out.println("Day of Year: " + CurrentDayOfYear);
Calendar gmtCalendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));


time = Time.new
puts time.yday


$DayOfYear = (Get-Date).DayofYear
Write-Host $DayOfYear


on mouseUp
put "January 1," && the last word of the long date into firstDayofYear --append current year
convert firstDayofYear to seconds -- from Jan 1, 1970 to first day of this year
put the long date into currentDay
convert currentDay to seconds -- from Jan 1, 1970 GMT to today
put currentDay - firstDayofYear into totalSeconds
answer the round of (totalSeconds / (60*60*24)) + 1 --display total days in dialog box
end mouseUp
on mouseUp
answer DayOfYear()
end mouseUp

function DayOfYear
put the short date into currentDate
convert currentDate to dateItems --list of date elements separated by commas
put item 1 of currentDate into year
put item 2 of currentDate into month
put item 3 of currentDate into day
put floor (275 * month / 9) into N1
put floor ( (month + 9) / 12) into N2
put (1 + floor ( (year - 4 * floor (year / 4) + 2) / 3) ) into N3
put N1 - (N2 * N3) + day - 30 into N
return N
end DayOfYear

function floor pNumber -- LiveCode has no built-in floor() function
put Round (pNumber) into theInteger
if theInteger > pNumber then
put theInteger - 1 into theInteger
end if
return theInteger
end floor

T-SQL (Transact-SQL)

SELECT datediff(day,CAST(datepart(year,getdate()) AS CHAR(4)) + '-01-01',getdate()+1)
  AS number_of_today

Go (golang)

day := time.Now().YearDay()


dayNumber = today-datenum(['1-Jan-' year(today)])+1


Read the comment below by Danny Cruz.

Thanks to all developers who contributed to this page! (read comments below)

Comments and questions