2019-07-31 14:59:42 +0100, Pádraig Brady: > On 26/07/19 08:29, Assaf Gordon wrote: [...] > > Some time ago there was a discussion relating to diffuculties of using > > GNU date's parsing. There was a mention of how using strptime(3) makes > > parsing explicit and easy. > > > > I like that idea, and decided to try my hand at adding such options. > > > > Attached is a proof of concept. > > > > The first patch adds '--date-format=FORMAT', where FORMAT is > > strptime(3) format. > > I like this, and think it's useful functionality. > It's equivalent to -f in date(1) on FreeBSD, > so we should probably support that short option [...]
Note that busybox date has -D for that. $ busybox date -d 120003 -D %H%M%S '+%F %T' 2019-07-31 12:00:03 For ast-open's date (also applies to ksh93's printf %T and all ast utilities that parse dates), you can use the standard (XPG / POSIX+XSI) getdate() DATEMSK variable which points to a file that contains the rules to parse dates. $ DATEMSK=/dev/fd/3 3<<<%H%M%S date -d 120003 '+%F %T' 2019-08-01 12:00:03 $ ksh93 -c 'DATEMSK=/dev/fd/3 3<<<%H%M%S printf "%(%F %T)T\n" 120003' 2019-08-01 12:00:03 -- Stephane