Provided by: dateutils_0.3.1-1.1_amd64
NAME
dtest - Like test(1) but for dates.
SYNOPSIS
dtest [OPTION]... DATE/TIME1 OP DATE/TIME2
DESCRIPTION
Like test(1) but for dates. Recognized OPTIONs: -h, --help Print help and exit -V, --version Print version and exit -q, --quiet Suppress message about date/time and duration parser errors. -i, --input-format=STRING... Input format, can be used multiple times. Each date/time will be passed to the input format parsers in the order they are given, if a date/time can be read successfully with a given input format specifier string, that value will be used. -e, --backslash-escapes Enable interpretation of backslash escapes in the output and input format specifier strings. --eq DATE/TIME1 is the same as DATE/TIME2 --ne DATE/TIME1 is not the same as DATE/TIME2 --gt DATE/TIME1 is newer than DATE/TIME2 --lt DATE/TIME1 is older than DATE/TIME2 --ge DATE/TIME1 is newer than or equals DATE/TIME2 --le DATE/TIME1 is older than or equals DATE/TIME2 --nt DATE/TIME1 is newer than DATE/TIME2 --ot DATE/TIME1 is older than DATE/TIME2 --cmp compare DATE/TIME1 to DATE/TIME2, return with 0 if equal, 1 if left argument was newer and 2 if right argument was newer
FORMAT SPECS
Format specs in dateutils are similar to posix' strftime(). However, due to a broader range of supported calendars dateutils must employ different rules. Date specs: %a The abbreviated weekday name %A The full weekday name %_a The weekday name shortened to a single character (MTWRFAS) %b The abbreviated month name %B The full month name %_b The month name shortened to a single character (FGHJKMNQUVXZ) %c The count of the weekday within the month (range 00 to 05) %C The count of the weekday within the year (range 00 to 53) %d The day of the month, 2 digits (range 00 to 31) %D The day of the year, 3 digits (range 000 to 366) %F Equivalent to %Y-%m-%d (ymd's canonical format) %j Equivalent to %D %m The month in the current calendar (range 00 to 19) %Q The quarter of the year (range Q1 to Q4) %q The number of the quarter (range 01 to 04) %s The number of seconds since the Epoch. %u The weekday as number (range 01 to 07, Sunday being 07) %U The week count, day of week is Sun (range 00 to 53) %V The ISO week count, day of week is Mon (range 01 to 53) %w The weekday as number (range 00 to 06, Sunday being 00) %W The week count, day of week is Mon (range 00 to 53) %y The year without a century (range 00 to 99) %Y The year including the century %Z The zone offset in hours and minutes (HH:MM) with a preceding sign (+ for offsets east of UTC, - for offsets west of UTC) %Od The day as roman numerals %Om The month as roman numerals %Oy The two digit year as roman numerals %OY The year including the century as roman numerals %rs In time systems whose Epoch is different from the unix Epoch, this selects the number of seconds since then. %rY In calendars with years that don't coincide with the Gregorian years, this selects the calendar's year. %dth The day of the month as an ordinal number, 1st, 2nd, 3rd, etc. %mth The month of the year as an ordinal number, 1st, 2nd, 3rd, etc. %db The business day of the month (since last month's ultimo) %dB Number of business days until this month's ultimo Time specs: %H The hour of the day using a 24h clock, 2 digits (range 00 to 23) %I The hour of the day using a 12h clock, 2 digits (range 01 to 12) %M The minute (range 00 to 59) %N The nanoseconds (range 000000000 to 999999999) %p The string AM or PM, noon is PM and midnight is AM. %P Like %p but in lowercase %S The (range 00 to 60, 60 is for leap seconds) %T Equivalent to %H:%M:%S General specs: %n A newline character %t A tab character %% A literal % character Modifiers: %O Modifier to turn decimal numbers into Roman numerals %r Modifier to turn units into real units th Suffix, read and print ordinal numbers b Suffix, treat days as business days By design dates before 1601-01-01 are not supported. For conformity here is a list of calendar designators and their corresponding format string: ymd %Y-%m-%d ymcw %Y-%m-%c-%w ywd %rY-W%V-%u bizda %Y-%m-%db lilian n/a ldn n/a julian n/a jdn n/a These designators can be used as output format string, moreover, @code{lilian}/@code{ldn} and @code{julian}/@code{jdn} can also be used as input format string.
EXAMPLES
$ dtest 2012-03-01 --gt 2012-03-02 || echo "false" false $ $ dtest 2012-03-01 --ot 2012-03-02 && echo "true" true $ $ dtest 2012-03-01 --cmp 2012-03-02; echo $? 2 $ $ dtest 2012-03-02 --cmp 2012-03-02; echo $? 0 $ $ dtest 2012-03-02 --cmp 2012-03-01; echo $? 1 $ $ dtest 12:00:04 --gt 11:22:33 && echo "true" true $ $ dtest 12:00:04 --lt 11:22:33 || echo "false" false $ $ dtest 12:00:04 --cmp 11:22:33; echo "$@{?@}" 1 $ $ dtest --cmp 11:22:33 12:00:04; echo "$@{?@}" 2 $ $ dtest --ne 2012-03-02T00:00:00 2012-03-02 || echo 'false' false $ $ dtest 2012-03-02T09:00:00 --ot 2012-03-02T10:00:00 && echo "true" true $ $ dtest 2012-03-02T07:00:00 --cmp 2012-03-02T09:30:00; echo "$@{?@}" 2 $ $ dtest --cmp 2012-03-02T12:00:00 2012-03-02T09:30:00; echo "$@{?@}" 1 $ $ dtest 2012-03-02T07:00:00 --cmp 09:30:00; echo "$@{?@}" 3 $
AUTHOR
Written by Sebastian Freundt <freundt@fresse.org>
REPORTING BUGS
Report bugs to: https://github.com/hroptatyr/dateutils/issues
SEE ALSO
The full documentation for dtest is maintained as a Texinfo manual. If the info and dtest programs are properly installed at your site, the command info (dateutils)dtest should give you access to the complete manual.