Man Linux: Main Page and Category List


       convcal - convert dates to different formats


       convcal [OPTIONS] [DATE]


       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

              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


       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).


       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, ...


       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




       Luc Maisonobe

       This man-page was written by Jan Schaumann <> as
       part    of    "The    Missing   Man   Pages   Project".    Please   see for details.