I have a date string in the following format Jul 27 23:59:59 2016 GMT
and I need to convert it to the equivalent epoch timestamp with the OS X BSD date
command.
GNU date
has a nice -d
/--date=STRING
argument:
$ date -d "Jul 27 23:59:59 2016 GMT" +'%s'
1469663999
The BSD date
command on OSX sadly has no such option.
date -j -f "<FORMAT>" "Jul 27 23:59:59 2016 GMT" +'%s'
seems to be the way to go, but I can't find the write format string. Apple's man page states:
date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s"
can be used to parse the output from date and express it in Epoch time.
But that doesn't appear to be true:
$ date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s"
Failed conversion of ``Wed 13 Jul 2016 11:17:49 BST'' using format ``%a %b %d %T %Z %Y''
date: illegal time format
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
How can I convert a date string in this format to an epoch timestamp with the OS X BSD date
command?
I can't seem to get a version out of date
, but I'm on OS X 10.11.5
(El Capitan) if that's significant.