1CONVCAL(1) User's Manual CONVCAL(1)
2
3
4
6 convcal - convert dates to different formats
7
8
10 convcal [OPTIONS] [DATE]
11
12
14 convcal is part of the grace software package, an application for two-
15 dimensional data visualization. convcal converts dates from and to var‐
16 ious formats. The following date formats are supported (hour, minutes
17 and seconds are always optional):
18
19
20 iso 1999-12-31T23:59:59.999
21
22 european
23 31/12/1999 23:59:59.999 or 31/12/99 23:59:59.999
24
25 us 12/31/1999 23:59:59.999 or 12/31/99 23:59:59.999
26
27 days 123456.789
28
29 seconds
30 123456.789
31
32
33
34 The formats are tried in the following order : users's choice, iso,
35 european and us (there is no ambiguity between calendar formats and
36 numerical formats and therefore no order is specified for them).
37
38
40 convcal reads the dates either on the command line or in the standard
41 input if the command line contains no date.
42
43 The user's choice for the input format put one format before the other
44 ones in the trial list, this is mainly useful for US citizen which
45 would certainly prefer to have US format checked before european for‐
46 mat. The default user's choice (nohint) does nothing so the following
47 formats of the list are checked.
48
49 The separators between various fields can be any characters in the set:
50 " :/.-T". One or more spaces act as one separator, other characters can
51 not be repeated, the T separator is allowed only between date and time,
52 mainly for iso8601. So the string "1999-12 31:23-59" is allowed (but
53 not recommended). The '-' character is used both as a separator (it is
54 traditionally used in iso8601 format) and as the unary minus (for dates
55 in the far past or for numerical dates). When the year is between 0 and
56 99 and is written with two or less digits, it is mapped to the era
57 beginning at wrap year and ending at wrap year + 99 as follows :
58
59 [wy ; 99] -> [ wrap_year ; 100*(1 + wrap_year/100) - 1 ]
60
61 [00 ; wy-1] -> [ 100*(1 + wrap_year/100) ; wrap_year + 99]
62
63 so for example if the wrap year is set to 1950 (which is the default
64 value), then the mapping is :
65
66 range [00 ; 49] is mapped to [2000 ; 2049]
67
68 range [50 ; 99] is mapped to [1950 ; 1999]
69
70 this is reasonably Y2K compliant and is consistent with current use.
71 Specifying year 1 is still possible using more than two digits as fol‐
72 lows : "0001-03-04" is unambiguously March the 4th, year 1, even if the
73 user's choice is us format. However using two digits only is not recom‐
74 mended (we introduce a 2050 bug here so this feature should be removed
75 at some point in the future ;-)
76
77 Numerical dates (days and seconds formats) can be specified using inte‐
78 ger, real or exponential formats (the 'd' and 'D' exponant markers from
79 fortran are supported in addition to 'e' and 'E'). They are computed
80 according to a customizable reference date. The default value is given
81 by the REFDATE constant in the source file. You can change this value
82 as you want before compiling, and you can change it at will using the
83 -r command line option. The default value in the distributed file is
84 "-4713-01-01T12:00:00", it is a classical reference for astronomical
85 events (note that the '-' is used here both as a unary minus and as a
86 separator).
87
88 The program can be used either for Denys's and gregorian calendars. It
89 does not take into account leap seconds : you can think it works only
90 in International Atomic Time (TAI) and not in Coordinated Unified Time
91 (UTC) ... Inexistant dates are detected, they include year 0, dates
92 between 1582-10-05 and 1582-10-14, February 29th of non leap years,
93 months below 1 or above 12, ...
94
95
97 A summary of the options supported by convcal is included below.
98
99
100 -h prints the help message on stderr and exits successfully
101
102 -i format
103 set user's choice for input format, supported formats are iso,
104 european, us, days, seconds and nohint. At the beginning the
105 input format is nohint, which means the program try to guess the
106 format by itself, if the user's choice does not allow to parse
107 the date, other formats are tried
108
109 -o format
110 force output format, supported formats are iso, european, us,
111 days, seconds and nohint. At the beginning, the output format
112 is nohint, which means the program uses days format for dates
113 read in any calendar format and uses iso8601 for dates read in
114 numerical format
115
116 -r date
117 set reference date (the date is read using the current input
118 format) at the beginning the reference is set according to the
119 REFDATE constant in the code, which is -4713-01-01T12:00:00 in
120 the distributed file.
121
122 -w year
123 set the wrap year to year
124
125
127 grace(1)
128
129 http://plasma-gate.weizmann.ac.il/Grace/
130
131
133 Luc Maisonobe
134
135 This man-page was written by Jan Schaumann <jschauma@netmeister.org> as
136 part of "The Missing Man Pages Project". Please see http://www.net‐
137 meister.org/misc/m2p2/index.html for details.
138
139
140
141grace August 11, 2001 CONVCAL(1)