MoonPoint Support Logo

 

Shop Amazon Warehouse Deals - Deep Discounts on Open-box and Used ProductsAmazon Warehouse Deals



Advanced Search
April
Sun Mon Tue Wed Thu Fri Sat
    2
     
2014
Months
Apr


Wed, Apr 02, 2014 11:00 pm

Determining the day of the week for a date

I needed to determine the day of the week for a particular date several years in the past. Rather than page back through the years using a GUI calendar, I thought I'd do it from the command line on a Linux system to which I had logged in by SSH, but couldn't remember the format for the command to display the day of the week, so had to look it up. The date command on a Linux system can be used to display information for dates other than the current one.
NAME
       date - print or set the system date and time

SYNOPSIS
       date [OPTION]... [+FORMAT]
       date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

DESCRIPTION
       Display the current time in the given FORMAT, or set the system date.

       -d, --date=STRING
              display time described by STRING, not ‘now’

There were several format options available to me.

%a locale’s abbreviated weekday name (e.g., Sun)
%A locale’s full weekday name (e.g., Sunday)
%u day of week (1..7); 1 is Monday
%w day of week (0..6); 0 is Sunday

I wanted to determine the day of the week for May 30, 2005, so I could use YYYYMMDD, i.e., 20050530 for the date with any of those format parameters.

$ date --date="20050530" +%a
Mon
$ date --date="20050530" +%A
Monday
$ date --date="20050530" +%u
1
$ date --date="20050530" +%w
1

A calendar can be displayed at a shell prompt using the cal command as well that will show you the day of the week for a date using ASCII characters, e.g.:

$ cal 05 2005
      May 2005
Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

From that calendar, I can see that May 30 in 2005 was a Monday.

[/os/unix/commands] permanent link

Valid HTML 4.01 Transitional

Privacy Policy   Contact

Blosxom logo