Today is Day
Loading...
Loading...
Loading...
Days Remaining
Loading...
Days in Year
Loading...
Current Year
Loading...
Year Progress
ISO Ordinal Date
Loading...
ISO-8601 ordinal date format (YYYY-DDD)
Current Date
Loading...
Full date in standard format
Year Completion
Loading...
Percentage of the year completed
Julian Day Number
Loading...
Days since January 1, 4713 BCE
About Day Numbers (Ordinal Dates)
Day numbers, also known as ordinal dates, represent the day of the year as a number between 1 and 365 (or 366 in leap years). January 1st is day 1, and each subsequent day increments this number. This format is useful in programming, scientific applications, and situations where you need to calculate time differences or perform date arithmetic. The ISO-8601 standard defines ordinal dates in the format YYYY-DDD, where YYYY is the year and DDD is the day number with leading zeros.
Day Number Formats
ISO-8601 Ordinal
Format: YYYY-DDD
Example: 2025-197
Standard: International ISO-8601
Example: 2025-197
Standard: International ISO-8601
Simple Day Number
Format: DDD
Example: 197
Range: 1-365 (or 366)
Example: 197
Range: 1-365 (or 366)
Julian Day Number
Format: DDDDDDD
Example: 2460507
Origin: January 1, 4713 BCE
Example: 2460507
Origin: January 1, 4713 BCE
Modified Julian Day
Format: DDDDD
Example: 60507
Origin: November 17, 1858
Example: 60507
Origin: November 17, 1858
How to Get Current Day Number in Programming
JavaScript
// Get day number (1-365/366)
function getDayNumber(date = new Date()) {
const start = new Date(date.getFullYear(), 0, 0);
const diff = date - start;
const oneDay = 1000 * 60 * 60 * 24;
return Math.floor(diff / oneDay);
}
const dayNumber = getDayNumber();
console.log(`Today is day ${dayNumber}`);
// Alternative method
const now = new Date();
const start = new Date(now.getFullYear(), 0, 1);
const dayOfYear = Math.ceil((now - start) / (1000 * 60 * 60 * 24)) + 1;
Python
import datetime
# Get day number using timetuple
day_number = datetime.datetime.now().timetuple().tm_yday
print(f"Today is day {day_number}")
# Alternative using strftime
day_number = datetime.datetime.now().strftime("%j")
print(f"Today is day {int(day_number)}")
# For specific date
specific_date = datetime.date(2025, 7, 16)
day_number = specific_date.timetuple().tm_yday
PHP
// Get day number (note: 'z' format starts from 0)
$dayNumber = date("z") + 1;
echo "Today is day $dayNumber";
// For specific timestamp
$dayNumber = date("z", strtotime("2025-07-16")) + 1;
// Alternative using DateTime
$date = new DateTime();
$dayNumber = $date->format("z") + 1;
// Using 'j' format (1-based, but only for day of month)
$dayOfYear = date("z") + 1;
Java
import java.time.LocalDate;
// Get day number
LocalDate today = LocalDate.now();
int dayOfYear = today.getDayOfYear();
System.out.println("Today is day " + dayOfYear);
// For specific date
LocalDate specificDate = LocalDate.of(2025, 7, 16);
int dayNumber = specificDate.getDayOfYear();
// Using Calendar (legacy)
Calendar cal = Calendar.getInstance();
int dayOfYear = cal.get(Calendar.DAY_OF_YEAR);
C#
using System;
// Get day number
DateTime today = DateTime.Now;
int dayOfYear = today.DayOfYear;
Console.WriteLine($"Today is day {dayOfYear}");
// For specific date
DateTime specificDate = new DateTime(2025, 7, 16);
int dayNumber = specificDate.DayOfYear;
// Using DateOnly (.NET 6+)
DateOnly date = DateOnly.FromDateTime(DateTime.Now);
int dayOfYear = date.DayOfYear;
Go
package main
import (
"fmt"
"time"
)
func main() {
// Get day number
now := time.Now()
dayOfYear := now.YearDay()
fmt.Printf("Today is day %d\n", dayOfYear)
// For specific date
specificDate := time.Date(2025, 7, 16, 0, 0, 0, 0, time.UTC)
dayNumber := specificDate.YearDay()
}
MySQL
-- Get day number
SELECT DAYOFYEAR(NOW()) as day_number;
-- For specific date
SELECT DAYOFYEAR('2025-07-16') as day_number;
-- Get day number with year
SELECT YEAR(NOW()) as year, DAYOFYEAR(NOW()) as day_number;
-- Format as ISO ordinal date
SELECT CONCAT(YEAR(NOW()), '-', LPAD(DAYOFYEAR(NOW()), 3, '0'))
as iso_ordinal;
PostgreSQL
-- Get day number
SELECT EXTRACT(DOY FROM CURRENT_DATE) as day_number;
-- Alternative using date_part
SELECT date_part('doy', CURRENT_DATE) as day_number;
-- Format as ISO ordinal date
SELECT TO_CHAR(CURRENT_DATE, 'YYYY-DDD') as iso_ordinal;
-- For specific date
SELECT EXTRACT(DOY FROM DATE '2025-07-16') as day_number;
Ruby
# Get day number
require 'date'
day_number = Time.now.yday
puts "Today is day #{day_number}"
# Using Date class
day_number = Date.today.yday
# For specific date
specific_date = Date.new(2025, 7, 16)
day_number = specific_date.yday
# Format as string
puts Time.now.strftime("Today is day %j")
Unix/Linux
# Get day number
date +%j
# For specific date
date -d "2025-07-16" +%j
# With year (ISO ordinal format)
date +%Y-%j
# Alternative using awk
date | awk '{print strftime("%j")}'
# Using GNU date with custom format
date "+Today is day %j of %Y"