Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ date(1) — Digital UNIX 3.2c

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

gettimeofday(2)

setclock(3)

getclock(3)

date(1)  —  Commands

NAME

date − Displays or sets the date

SYNOPSIS

Without Superuser Authority − Displays the Date

date [−u] [+field_descriptor ...]

With Superuser Authority − Sets the Date

date [−nu] [MMddhhmm.ssyy | alternate_date_format] [+field_descriptor ...]

DESCRIPTION

The date command displays the date and, with superuser authority, sets the system date. 

Displaying the Date

The date command writes the current date and time to standard output if called with no flags or with a flag list that begins with a + (plus sign). 

The current month, day, hour, and year are default values.  The system operates in Coordinated Universal Time (UTC). 

If you follow date with a + (plus sign) and a field descriptor, you can control the output of the command.  You must precede each field descriptor with a % (percent sign).  The system replaces the field descriptor with the specified value.  Enter a literal % as %%.  The date command copies any other characters to standard output without change. The date command always ends the string with a newline character.  Output fields are fixed size (zero padded if necessary). 

The date command prints out a usage message on any unrecognized flags or input. 

Field Descriptors

aDisplays the locale’s abbreviated weekday name (Sun to Sat or the non-English equivalent). 

ADisplays the locale’s full weekday name. 

bDisplays the locale’s abbreviated month name. 

BDisplays the locale’s full month name. 

cDisplays the locale’s appropriate time and date representation. 

CDisplays the locale’s century (the year divided by 100 and truncated to an integer) as a decimal number (00 to 99). 

dDisplays the day of month as a decimal number (01 to 31). 

DDisplays the date in the format mm/dd/yy (the default), or as specified by the LC_TIME environment variable, if defined. 

eDisplays the day of the month as a decimal number (1 to 31 in a 2-digit field with leading space fill). 

EcSpecifies the name of the base year (period) in the locale’s alternative representation. 

ECSpecifies the name of the base year (period) in the locale’s alternative representation. 

ExSpecifies the locale’s alternative date representation. 

EySpecifies the offset from %EC (year only) in the locale’s alternative representation. 

EYSpecifies the full alternative year representation. 

hA synonym for %b. 

HDisplays the hour as a decimal number (00 to 23). 

IDisplays the hour as a decimal number (01 to 12). 

jDisplays the day of year as a decimal number (001 to 366). 

mDisplays the month of year as a decimal number (01 to 12). 

MDisplays the minute as a decimal number (00 to 59). 

nInserts a newline character. 

NRepresents the alternative era name. 

oRepresents the alternative era year. 

OdSpecifies the day of the month using the locale’s alternative numeric symbols. 

OeSpecifies the day of the month using the locale’s alternative numeric symbols. 

OHSpecifies the hour (24-hour clock) using the locale’s alternative numeric symbols. 

OISpecifies the hour (12-hour clock) using the locale’s alternative numeric symbols. 

OmSpecifies the month using the locale’s alternative numeric symbols. 

OMSpecifies the inutes using the locale’s alternative numeric symbols. 

OSSpecifies the seconds using the locale’s alternative numeric symbols. 

OUSpecifies the week number of the year (Sunday as the first day of the week) using the locale’s alternative numeric symbols. 

OwSpecifies the weekday as a number in the locale’s alternative representation (Sunday = 0). 

OWSpecifies the week number of the year (Monday as the first day of the week) using the locale’s alternative numeric symbols. 

OySpecifies the year (offset from %C) in alternative representation. 

pDisplays the locale’s equivalent of either AM or PM. 

rDisplays the time (12-hour clock) using AM/PM notation (or the non-English equivalent) in the format hh:mm:ss AM or hh:mm:ss PM. 

SDisplays the second as a decimal number (00 to 61). 

tInserts a tab character. 

TDisplays the time in 24-hour clock format as hh:mm:ss (the default), or as specified by the LC_TIME environment variable, if defined. 

uDisplays the weekday as a decimal number [1,7], with 1 representing Monday. 

UDisplays the week number of the year (Sunday is the first day of the week) as a decimal number (00 to 53). 

VDisplays the week number of the year (Monday as the first day of the week) as a decimal number (01 to 53).  If the week containing January 1 has four or more days in the new year, then it is considered week 1; otherwise, it is week 53 or the previous year, and the next week is week 1. 

wDisplays the day of the week as a decimal number (Sunday = 0). 

WDisplays the week number of the year (Monday is the first day of the week) as a decimal number (00 to 53). 

xDisplays the locale’s appropriate date representation. 

XDisplays the locale’s appropriate time representation. 

yDisplays the last two numbers of the year as a decimal number (00 to 99). 

YDisplays the full year as a decimal number. 

ZDisplays the time zone name, or no characters if the time zone cannot be determined. 

%%Inserts a % character. 

Setting the Date

Only a user operating with superuser authority can change the date and time.  The LC_TIME variable, if it is defined, controls the ordering of the day and month numbers in the date specification.  The default order is MMddhhmm.ssyy where:

       •MM is the month number (01=January). 

       •dd is the number of the day in the month. 

       •hh is the hour in the day (using a 24-hour clock). 

       •mm is the minute number. 

       •ss is the number of seconds. 

       •yy is the last two numbers of the year. 

The alternative ordering is either ddMMhhmm.ssyy, yyMMddhhmm.ss, or yyddMMhhmm.ss.  If format yyMM...  is specified, the value of yy must be 88 to 99. 

Reset the date in single-user mode only. Changing the date in multiuser mode could cause the creation and modifications dates for user files to be inconsistent. 

Note that to change the year, the system disk must be updated with the new year information. To change the year, in single-user mode enter the command

mount -u /

after you enter a date containing a new year. The mount -u / command writes the new year into the superblock on the system disk. Note also that the root filesystem is now mounted read/write. 

FLAGS

−nDoes not set the time globally on all machines in a local area network that have their clocks synchronized (superuser only). 

−uPerforms operations as if the TZ environment variable was set to the string GMT0.  Otherwise, date uses the time zone indicated by the TZ environment variable or the system default if that variable is not set. 

EXAMPLES

     1.To display current date and time, enter:

date

Depending on your current locale, the output might look like one of the following:

Thu Apr 12  13:21:30 EDT  1992
jeu 12 avr  17:21:30 CUT  1992
tor 12 apr  17:21:30 CUT  1992

The first output line is for an American English locale, the second is for a French locale, and the third is for a Danish locale. 

     2.To set the date and time, enter:

date  02171425.45

This sets the date and time to 14:25:45 (45 seconds after 2:25 p.m.)  February 17 of the current year. 

     3.To display the date and time in a specified format, enter:

date  +"%r  %d  %h  %y  (%a)"

This displays the date (assume current year is 1993) shown in Example 2 as:

02:25:03  PM  17  Feb  93  (Fri)

Do not change the date while the system is running with more than one user. 

RELATED INFORMATION

Functions: gettimeofday(2), setclock(3), getclock(3). 

Command and Shell User’s Guide. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026