Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STARDATE(1)		    General Commands Manual		   STARDATE(1)

NAME
       stardate	- convert between stardates and	other calendars

SYNOPSIS
       stardate	[ options ] [ date ... ]

DESCRIPTION
       stardate	 interprets  the dates specified on its	command	line, and out-
       puts them in the	formats	specified by the options.

       If no dates are specified, the  current	time,  read  from  the	system
       clock,  is  used.  If no	options	are specified, dates are output	in the
       form of stardates.  Consequently, if stardate is	invoked	with no	 argu-
       ments,  it  outputs the current time as a stardate.  This performs much
       the same	job as date(1),	but with a more	interesting form of output.

       Dates on	output are always rounded down,	and so in some cases will gen-
       erate  different	 output	 if  reused as input.  This rounding is	always
       such that the output date is the	latest time, expressible in the	format
       being used, that	is no later than the time specified as input.

       This  program  handles  dates  from  0001=01=01 (Julian calendar) up to
       (currently) (2^64 - 1) seconds later, which is beyond  the  year	 (5  x
       10^11).	 Any  date  within this	range can be input or output in	any of
       the formats the program supports.  Consequently,	any date  the  program
       outputs	will  be  accepted  as input.  The only	exception is for dates
       within the first	half second of the acceptable range, where  the	 value
       output in the quadcent calendar,	``0000*12*31T02:03:16''	(chosen	due to
       the rounding mentioned  above),	is  actually  outside  the  acceptable
       range.

       The stardate code is based on information in version 1 of the Stardates
       in Star Trek FAQ, which is regularly posted  to	the  USENET  newsgroup
       rec.arts.startrek.tech.

OPTIONS
       -s[n]  Output  the date as a stardate.  n, if given, specifies the num-
	      ber of digits output after the decimal point.  If	not specified,
	      it defaults to 2.	 The output looks like ``[i]nnnn.dd''.

	      When  2  decimal places are used,	the output of the current time
	      changes every 172.8 seconds.  (Actually, because of the  resolu-
	      tion of C	time, four-fifths of the changes are 173 seconds after
	      the previous change, and the other fifth are 172 seconds after.)

       -j     Output the date as a date	in the Julian calendar,	with UTC time.
	      The output looks like ``yyyy=mm=ddThh:mm:ss''.

       -g     Output  the  date	 as a date in the Gregorian calendar, with UTC
	      time.  The output	looks like ``yyyy-mm-ddThh:mm:ss''.

       -q     Output the date as a date	in the	Quadcent  calendar,  with  UTC
	      time.  The output	looks like ``yyyy*mm*ddThh:mm:ss''.

	      This  calendar  is  explained in detail in the Stardates in Star
	      Trek FAQ.	 Briefly,  it  uses  seconds  that  are	 approximately
	      1.00066  SI seconds long,	and has	no leap	years.	Each 400 years
	      in this calendar is exactly as long as 400 years in  the	Grego-
	      rian  calendar,  but  all	years in the quadcent calendar are the
	      same length.

       -u     Output the date in the form of the traditional Unix time.	  This
	      is  a  number  of	seconds	since midnight UTC on 1970-01-01.  The
	      output looks like	``Unnnnnnnnn''.

       -x     Output the date in the form of the  traditional  Unix  time,  in
	      hexadecimal.  The	output looks like ``U0xnnnnnnnnn''.

INPUT FORMATS
       dates  may  be  specified  in  any  of the output formats, as described
       above, with a few variations allowed.  More  precisely,	the  following
       forms are permitted:

       [issue]nnnn
       [-issue]nnnn
       [issue]nnnn.dd
       [-issue]nnnn.dd
	      A	 stardate.   The  issue	 number,  with the square brackets, is
	      mandatory.  The fractional part is optional.

	      Stardate ``[0]0000.0'' is	midnight UTC on	 2162-01-04;  negative
	      issue numbers indicate times before that.	 If issue is less than
	      20, the number must be in	the range [0, 10000).  If equal	to 20,
	      [0,  5006).   If greater than 20,	[0, 100000).  The FAQ explains
	      these range changes.

       yyyy=mm=dd
       yyyy=mm=ddThh:mm
       yyyy=mm=ddThh:mm:ss
	      A	date in	the Julian calendar, optionally	with a time in UTC.

       yyyy-mm-dd
       yyyy-mm-ddThh:mm
       yyyy-mm-ddThh:mm:ss
	      A	date in	the Gregorian calendar,	optionally with	a time in UTC.

       yyyy*mm*dd
       yyyy*mm*ddThh:mm
       yyyy*mm*ddThh:mm:ss
	      A	date in	the Quadcent calendar, optionally with a time in UTC.

       Unnnnnnnnnn
       U-nnnnnnnnnn
       U0xnnnnnnnnnn
       U-0xnnnnnnnnnn
	      A	 Unix  time  specification  -  a  number  of   seconds	 since
	      1970-01-01.  A negative number indicates a time before 1970.  In
	      the forms	with ``0x'', the number	is in hexadecimal.

       Case of alphabetic characters in	input is ignored.

AUTHOR
       Andrew Main <zefram@fysh.org>

SEE ALSO
       date(1),	Stardates in Star Trek FAQ

BUGS
       This program will not handle dates BCE.

Stardates 1.6	       9 February 1997,	SD [-31]8857.62		   STARDATE(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | INPUT FORMATS | AUTHOR | SEE ALSO | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=stardate&sektion=1&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help