Linux & Unix Date Format Examples

Updated Jun 2026 · originally published Mar 2012 · Tested on Linux, Unix

Learn about Linux and Unix date & time formating with the help of simple explanation and added example. Date command in Unix & Linux is used to format date as well as time. First portion of this article covers Date function and the second portion has the time function covered.

Linux & Unix Basic date format

$date ”+<Parameter><seprator><Parameter><seprator><Parameter>

Where Parameters is any one or more Parameter from the list below and separator is a any field separator like hyphen( - ) , slash , colon : and it is optional.

Linux & Unix Date Format Examples

lets get the parameter for year , month and date and produce a hyphen separated date format

$date ”+%Y-%m-%d” 2010-02-10 %Y is keyword for four digit year %m is keyword for two digit month %d is keyword for two digit date Hyphen is separator here .

If you change the separator here to slash the format would look like

$date ”+%Y/%m/%d” 2010/02/10

You can switch date keyword anyway you want , if you need month first and year last ,

$date ”+%m-%d-%Y” 02-10-2010

Weekdays

You can have additional weekday information in your date with %A as

$date ”+%m-%d-%Y %A” 02-10-2010 Wednesday

or

$date ”+%A %m-%d-%Y” Wednesday 02-10-2010

These are options you can select for weekday

%a weekday, abbreviated Wed %A weekday, full Wednesday %d day of the month (dd), zero padded 10 %e day of the month (dd) 10 %j day of year, zero padded 000-366 %u day of week starting with Monday (1), i.e. mtwtfss 3 %w day of week starting with Sunday (0), i.e. smtwtfs 3

Month

You can have additional month information in your date with %B as

$date ”+%m-%d-%Y %B” 02-10-2010 Februrary or $date ”+%B %m-%d-%Y” February 02-10-2010

These are options you can select for month

%m mm month as two digits %b Mon, locale’s abbreviated Feb %B locale’s full month, variable length February

Year

You can have additional year information as two digit or four digit with %y or %Y as

$date ”+%m-%d-%y ” 02-10-10

or

$date ”+%m-%d-%Y ” 02-10-2010

These are options you can select for year

%y yy two digit year 00–99 %Y ccyy year 2010

Additional date format parameters which can be used :

Week

%U week number Sunday as first day of week 01–53 %W week number Monday as first day of week 01–53 %V week of the year 01–53

Century

cc or %C century prints only last two digits (e.g., 20)

Date

%D mm/dd/yy 02/10/10 %x locale’s date representation (mm/dd/yy) 02/10/2010 %F %Y-%m-%d 2010-02-10

Date and Time time stamp

%c locale’s date and time Wed Feb 10 10:02:33 PST 2010

Time function

Time function is simple to use and date command is used to format & display time as well . You can use date and time parameters to format your date time stamp as per your requirment

A simple time stamp with date can be generated as :

$date ”+%c” %c locale’s date and time Sat Nov 04 12:02:33 EST 1989

Date function have some preformated time stamps to make things easier

Example :

$date ”+%r” 05:28:55 PM

More preformated options :

%R hours, minutes (24 hour clock) hh:mm e.g. 17:28 %T hours, minutes, seconds (24-hour clock) 17:28:55 %X locale’s time representation (%H:%M:%S) 05:28:55 PM

Custom time format

Examples

Time stamp with 12 hr clock

$date ”+%l:%M:%S 5:22:45

Time stamp with 24 hr clock

$date ”+%H:%M:%S” 20:22:45

Time stamp with AM/PM

$date ”+%l:%M:%S %p” 5:22:45 PM

More date time parameters :

Hours

%l (Lowercase L) hour (12 hour clock) 8 %I (Uppercase I) hour (12 hour clock) zero padded 08 %k hour (24 hour clock) 20 %H hour (24 hour clock) zero padded 20 %p locale’s upper case AM or PM (blank in many locales) PM %P locale’s lower case am or pm (really!) pm

Minutes

%M MM minutes 28

Seconds

%s seconds since 00:00:00 1970-01-01 UTC (Unix epoch) 1265833735 %S SS second 00–60 %N nanoseconds 000000000–999999999

Time zone

%z -zzzz RFC-822 style numeric timezone -0500 %Z time zone (e.g., EDT) nothing if no time zone is determinable EST