Provided by: dateutils_0.2.5-1_amd64 bug

NAME

       ddiff - Compute durations between dates and times

SYNOPSIS

       dseq [OPTION]... FIRST [[INCREMENT] LAST]

DESCRIPTION

       dseq 0.2.5

       Generate  a  sequence  of  date/times from FIRST to LAST, optionally in steps of INCREMENT
       (which defaults to `1d').

       If LAST is omitted it defaults to `now' if FIRST is a date/time, or `today' if FIRST is  a
       date, or `time' if FIRST is a time.

       The  values  of  FIRST and LAST are always inclusive and no date/times before FIRST and no
       date/times after LAST will be printed.

       Negative INCREMENTs must be given, i.e. if FIRST is newer than LAST.

       -h, --help
              Print help and exit

       -V, --version
              Print version and exit

       -q, --quiet
              Suppress message about date/time and duration parser errors.

       -f, --format=STRING
              Output format.  This can either be a specifier string (similar to strftime()'s FMT)
              or the name of a calendar.

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

       -s, --skip=STRING
              Skip weekdays specified by STRING.  STRING can  be  a  single  weekday  (Mon,  Tue,
              etc.),  and  to  skip  several  days  the --skip option can be used multiple times.
              STRING can also be a comma-separated  list  of  weekday  names,  or  `ss'  to  skip
              weekends  (sat+sun)  altogether.   STRING can also contain date ranges like `mo-we'
              for monday to wednesday.

       --alt-inc=STRING
              Alternative increment to use when a date is hit that  is  skipped  as  per  --skip.
              This  increment  will  be applied until a non-skipped date is reached.  The special
              case `0' (default) deactivates alternative incrementing.  A useful value  could  be
              `1d'  for  increasing sequences and `-1d' for decreasing sequences, so if a skipped
              date is encountered the next non-skipped date after/before will be used.

       --compute-from-last
              Compute a start value from LAST using INCREMENT.  This option has  an  effect  only
              when  INCREMENT  is  not a divisor of the duration between FIRST and LAST.  In such
              case, an alternative FIRST will be computed by consecutively subtracting  INCREMENT
              from LAST until FIRST is hit or crossed.

EXAMPLES

         % dseq 2012-02-01 2012-03-01
         2012-02-01
         2012-02-02
         2012-02-03
         2012-02-04
         2012-02-05
         2012-02-06
         2012-02-07
         2012-02-08
         2012-02-09
         2012-02-10
         2012-02-11
         2012-02-12
         2012-02-13
         2012-02-14
         2012-02-15
         2012-02-16
         2012-02-17
         2012-02-18
         2012-02-19
         2012-02-20
         2012-02-21
         2012-02-22
         2012-02-23
         2012-02-24
         2012-02-25
         2012-02-26
         2012-02-27
         2012-02-28
         2012-02-29
         2012-03-01

         % dseq 2001-02-03 2001-03-03 --skip sat -f "%F %a"
         2001-02-04 Sun
         2001-02-05 Mon
         2001-02-06 Tue
         2001-02-07 Wed
         2001-02-08 Thu
         2001-02-09 Fri
         2001-02-11 Sun
         2001-02-12 Mon
         2001-02-13 Tue
         2001-02-14 Wed
         2001-02-15 Thu
         2001-02-16 Fri
         2001-02-18 Sun
         2001-02-19 Mon
         2001-02-20 Tue
         2001-02-21 Wed
         2001-02-22 Thu
         2001-02-23 Fri
         2001-02-25 Sun
         2001-02-26 Mon
         2001-02-27 Tue
         2001-02-28 Wed
         2001-03-01 Thu
         2001-03-02 Fri

         % dseq --compute-from-last 2001-02-03 1 2001-03-03 --skip sat -f "%F %a"
         2001-02-04 Sun
         2001-02-05 Mon
         2001-02-06 Tue
         2001-02-07 Wed
         2001-02-08 Thu
         2001-02-09 Fri
         2001-02-11 Sun
         2001-02-12 Mon
         2001-02-13 Tue
         2001-02-14 Wed
         2001-02-15 Thu
         2001-02-16 Fri
         2001-02-18 Sun
         2001-02-19 Mon
         2001-02-20 Tue
         2001-02-21 Wed
         2001-02-22 Thu
         2001-02-23 Fri
         2001-02-25 Sun
         2001-02-26 Mon
         2001-02-27 Tue
         2001-02-28 Wed
         2001-03-01 Thu
         2001-03-02 Fri

         % dseq 2001-02-03 3 2001-03-03 --skip sat,fri -f "%F %a"
         2001-02-06 Tue
         2001-02-12 Mon
         2001-02-15 Thu
         2001-02-18 Sun
         2001-02-21 Wed
         2001-02-27 Tue

         % dseq --compute-from-last 2001-02-03 3 2001-03-03 --skip sat,fri -f "%F %a"
         2001-02-04 Sun
         2001-02-07 Wed
         2001-02-13 Tue
         2001-02-19 Mon
         2001-02-22 Thu
         2001-02-25 Sun
         2001-02-28 Wed

         % dseq 2001-02-05 4 2001-03-04 -f "%F %a"
         2001-02-05 Mon
         2001-02-09 Fri
         2001-02-13 Tue
         2001-02-17 Sat
         2001-02-21 Wed
         2001-02-25 Sun
         2001-03-01 Thu

         % dseq --compute-from-last 2001-02-05 4 2001-03-04 -f "%F %a"
         2001-02-08 Thu
         2001-02-12 Mon
         2001-02-16 Fri
         2001-02-20 Tue
         2001-02-24 Sat
         2001-02-28 Wed
         2001-03-04 Sun

         % dseq --alt-inc 1d 2001-02-03 3 2001-03-03 --skip sat,fri -f "%F %a"
         2001-02-04 Sun
         2001-02-07 Wed
         2001-02-11 Sun
         2001-02-14 Wed
         2001-02-18 Sun
         2001-02-21 Wed
         2001-02-25 Sun
         2001-02-28 Wed

         %  dseq  --compute-from-last  --alt-inc 1d 2001-02-03 3 2001-03-03 --skip sat,fri -f "%F
       %a"
         2001-02-04 Sun
         2001-02-07 Wed
         2001-02-11 Sun
         2001-02-14 Wed
         2001-02-18 Sun
         2001-02-21 Wed
         2001-02-25 Sun
         2001-02-28 Wed

         % dseq 2001-01-01 2d 2001-01-08
         2001-01-01
         2001-01-03
         2001-01-05
         2001-01-07

         % dseq --compute-from-last 2001-01-01 2d 2001-01-08
         2001-01-02
         2001-01-04
         2001-01-06
         2001-01-08

         % dseq 2001-01-08 -2d 2001-01-01
         2001-01-08
         2001-01-06
         2001-01-04
         2001-01-02

         % dseq --compute-from-last 2001-01-08 -2d 2001-01-01
         2001-01-07
         2001-01-05
         2001-01-03
         2001-01-01

         % dseq 10:00:00 12m 11:20:00
         10:00:00
         10:12:00
         10:24:00
         10:36:00
         10:48:00
         11:00:00
         11:12:00

         % dseq --compute-from-last 10:00:00 12m 11:20:00
         10:08:00
         10:20:00
         10:32:00
         10:44:00
         10:56:00
         11:08:00
         11:20:00

         % dseq 11:20:00 -12m 10:00:00
         11:20:00
         11:08:00
         10:56:00
         10:44:00
         10:32:00
         10:20:00
         10:08:00

         % dseq --compute-from-last 11:20:00 -12m 10:00:00
         11:12:00
         11:00:00
         10:48:00
         10:36:00
         10:24:00
         10:12:00
         10:00:00

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, first day of week is Sun (range 00 to 53)
         %V  The ISO week count, first 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, first 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

         %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 second (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   Treat date as business date

       By design dates before 1601-01-01 are not supported.

       For conformity here is a list of calendar spec names and their meaning:
         ymd   %Y-%m-%d
         ymcw  %Y-%m-%c-%w
         ywd   %rY-W%V-%u
         bizda %Y-%m-%db

SPECIFYING DURATIONS

       Some  tools  ("dadd",  "dseq")  need  durations  as  their input.  Durations are generally
       incompatible with input formats as specified by "-i|--input-format" and  (at  the  moment)
       the input syntax is fixed.

       The  general  format is "[+-]Nunit" where "+" or "-" is the sign, "N" a number, and "unit"
       the unit as discussed below.

       Units:
         s  seconds
         m  minutes
         h  hours
         rs real-life seconds, as in including leap second transitions

         d  days
         b  business days
         mo months
         y  years

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 ddiff is maintained as a Texinfo manual.  If the info and ddiff
       programs are properly installed at your site, the command

              info (dateutils)dseq

       should give you access to the complete manual.