Easy unix epoch timestamps from CLI
While working on various projects and ultimately the need for a Unix timestamp for expiring swift objects in OpenStack, I needed a quick way to convert past, present, and future timestamps to the Unix epoch. Traditionally, I went to google, searched for a Unix timestamp converter, and retrieved my seconds that way. Unfortunately in exams, you are not allowed to visit external websites.
If you know how to read documentation, you will already know that the date
command has this feature already built in. An excerpt from the docs is as follows:
...
Show the local time for 9AM next Friday on the west coast of the US
$ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
DATE STRING
The --date=STRING is a mostly free format human readable date string
such as "Sun, 29 Feb 2004 16:21:42 -0800" or "2004-02-29 16:21:42" or
even "next Thursday". A date string may contain items indicating cal‐
endar date, time of day, time zone, day of week, relative time, rela‐
tive date, and numbers. An empty string indicates the beginning of the
day. The date string format is more complex than is easily documented
here but is fully described in the info documentation.
...
Further reading of the docs will point you in specifically formatting a return string by doing a date +%s
. So when the time comes to expire an object from swift at 17:00 next Friday, you can do something like:
swift post container file -H 'X-Delete-On: `date +%s --date="17:00 next Friday"`'