The date_iso command converts dates in user formats to the ISO YYYY-MM-DD format. You can specify the format of the input date using a mask. Once dates are in ISO format, you can reformat them with the date_format command. If a field cannot be converted to ISO format, it is left unchanged.
See also: date_format
Flag |
Req'd? |
Description |
-f fields |
Yes |
A list of fields to attempt to convert. |
-m mask |
Yes |
The mask that specifies how the parts of the field are to be treated. The mask must be exactly five characters long. Three of these characters must be one each of 'd', 'm' and 'y'', specifying positions of day, month and year. The remaining two characters must be non-alphanumeric and specify the separators between the dmy characters. Examples of masks: |
-cy year |
No |
Specifies a base year to use for dates that have two-digit year values. The default base year is 1930, so the date '1/1/01' means '1/1/2000' and '1/1/36' means '1/1/1936' |
-mn names |
No |
Specifies a comma-separated list of month names. There must be exactly twelve names and they must appear in the order of the months. |
-bdl |
No |
Outputs only records that fail the date conversion. |
-bdx |
No |
Excludes records that fail the date conversion from output. |
The following example reads the file birthdays.csv and transforms the dates in the second column into ISO format:
csvfix date_iso -f 2 -m 'd/m/y' data/birthdays.csv
which produces:
"Peter","2000-08-20"
"Jane","1970-02-12"
"Bill","1971-06-14"
"Anna","1976-12-27"
Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad