Time zone conversion using GNU date

From Brandonhutchinson.com

Jump to: navigation, search

There are excellent Web-based time zone converters[1], but it is easy to do on a UNIX system using GNU date.

These examples were performed on a Ubuntu system.

Examples

What is the current time in the system-wide timezone? (I don't have the TZ environment variable set, so I'm using the system-wide timezone)

$ date
Fri Nov  9 14:06:15 CST 2007

What is the current time in Sydney, Australia?

$ TZ=Australia/Sydney date
Sat Nov 10 07:07:38 EST 2007

What is the time in Sydney, Australia, when it's 9 pm CST today? (If you don't specify the current date after -d, it uses tomorrow's date)

$ TZ=Australia/Sydney date -d '11/9/2007 21:00 CST'
Sat Nov 10 14:00:00 EST 2007

What is the time in Sydney, Australia, when it's 9 pm CST on 2007/11/12?

$ TZ=Australia/Sydney date -d '11/12/2007 21:00 CST'
Tue Nov 13 14:00:00 EST 2007

What is the time in London, England, when it's 9 pm 2008/08/26 in Sydney, Australia?

$ TZ=Australia/Sydney date +%z
+1000
$ TZ=England/London date -d '2008/08/26 21:00 +1000'
Tue Aug 26 11:00:00 UTC 2008

Which time zones may I choose from?

$ find /usr/share/zoneinfo -type f
Personal tools