convcal - Online in the Cloud

This is the command convcal that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


convcal - convert dates to different formats

SYNOPSIS


convcal [OPTIONS] [DATE]

DESCRIPTION


convcal is part of the grace software package, an application for two-dimensional data
visualization. convcal converts dates from and to various formats. The following date
formats are supported (hour, minutes and seconds are always optional):

iso 1999-12-31T23:59:59.999

european
31/12/1999 23:59:59.999 or 31/12/99 23:59:59.999

us 12/31/1999 23:59:59.999 or 12/31/99 23:59:59.999

days 123456.789

seconds
123456.789

The formats are tried in the following order : users's choice, iso, european and us (there
is no ambiguity between calendar formats and numerical formats and therefore no order is
specified for them).

USAGE


convcal reads the dates either on the command line or in the standard input if the command
line contains no date.

The user's choice for the input format put one format before the other ones in the trial
list, this is mainly useful for US citizen which would certainly prefer to have US format
checked before european format. The default user's choice (nohint) does nothing so the
following formats of the list are checked.

The separators between various fields can be any characters in the set: " :/.-T". One or
more spaces act as one separator, other characters can not be repeated, the T separator is
allowed only between date and time, mainly for iso8601. So the string "1999-12 31:23-59"
is allowed (but not recommended). The '-' character is used both as a separator (it is
traditionally used in iso8601 format) and as the unary minus (for dates in the far past or
for numerical dates). When the year is between 0 and 99 and is written with two or less
digits, it is mapped to the era beginning at wrap year and ending at wrap year + 99 as
follows :

[wy ; 99] -> [ wrap_year ; 100*(1 + wrap_year/100) - 1 ]

[00 ; wy-1] -> [ 100*(1 + wrap_year/100) ; wrap_year + 99]

so for example if the wrap year is set to 1950 (which is the default value), then the
mapping is :

range [00 ; 49] is mapped to [2000 ; 2049]

range [50 ; 99] is mapped to [1950 ; 1999]

this is reasonably Y2K compliant and is consistent with current use. Specifying year 1 is
still possible using more than two digits as follows : "0001-03-04" is unambiguously March
the 4th, year 1, even if the user's choice is us format. However using two digits only is
not recommended (we introduce a 2050 bug here so this feature should be removed at some
point in the future ;-)

Numerical dates (days and seconds formats) can be specified using integer, real or
exponential formats (the 'd' and 'D' exponant markers from fortran are supported in
addition to 'e' and 'E'). They are computed according to a customizable reference date.
The default value is given by the REFDATE constant in the source file. You can change
this value as you want before compiling, and you can change it at will using the -r
command line option. The default value in the distributed file is "-4713-01-01T12:00:00",
it is a classical reference for astronomical events (note that the '-' is used here both
as a unary minus and as a separator).

The program can be used either for Denys's and gregorian calendars. It does not take into
account leap seconds : you can think it works only in International Atomic Time (TAI) and
not in Coordinated Unified Time (UTC) ... Inexistant dates are detected, they include
year 0, dates between 1582-10-05 and 1582-10-14, February 29th of non leap years, months
below 1 or above 12, ...

OPTIONS


A summary of the options supported by convcal is included below.

-h prints the help message on stderr and exits successfully

-i format
set user's choice for input format, supported formats are iso, european, us, days,
seconds and nohint. At the beginning the input format is nohint, which means the
program try to guess the format by itself, if the user's choice does not allow to
parse the date, other formats are tried

-o format
force output format, supported formats are iso, european, us, days, seconds and
nohint. At the beginning, the output format is nohint, which means the program
uses days format for dates read in any calendar format and uses iso8601 for dates
read in numerical format

-r date
set reference date (the date is read using the current input format) at the
beginning the reference is set according to the REFDATE constant in the code, which
is -4713-01-01T12:00:00 in the distributed file.

-w year
set the wrap year to year

Use convcal online using onworks.net services



Latest Linux & Windows online programs