Super User Asked by Thomas Anderson on December 22, 2020
$ date --version
date (GNU coreutils) 8.25
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.
Current date in US Eastern EDT.
$ date
Tue Oct 27 21:16:35 EDT 2020
Now try to convert to UTC, which is +4.
$ env TZ=UTC date -d "21:07:28 EDT"
Thu Oct 29 01:07:28 UTC 2020
$ env TZ=Etc/UTC date --date='TZ="America/New_York" 21:07:28'
Thu Oct 29 01:07:28 UTC 2020
Why is it Oct 29? Should be Oct 28.
I am totally stumped by this.
Thanks for any help.
If you provide only a time to the -d
option of date
, it interprets that as the provided time on today's date. With that in mind, let's look at your example:
$ env TZ=UTC date -d "21:07:28 EDT"
Thu Oct 29 01:07:28 UTC 2020
You're telling date to print out the string representation of 21:07:28 EDT on the current date. You're also setting TZ=UTC
. TZ
is used not only to format the time, but also to figure out the current date.
When you ran that command, it was approximately 1am on October 28th in UTC. So your date command translates to "print the UTC time when it's Oct 28 21:07:28 EDT". And because UTC is four hours ahead of EDT, it prints Oct 29 01:07:28.
If you want it to use a different date than "today" in the timezone specified by $TZ
, then you have to be explicit. E.g.,
TZ=UTC date -d "Oct 27 21:07:28 EDT"
Or you could use a second invocation of the date command to generate today's date in your local timezone:
TZ=UTC date -d "$(date +%F) 21:07:28 EDT"
Note that your shell does not set TZ
when calling date for command substitution (the $(date +%F)
part). Which is why that inner date
gives you the date in your local timezone.
Correct answer by satwell on December 22, 2020
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP