Якщо абсолютний термін - це ваша головна проблема, можливо, найкраще відпрацювати UTC, оскільки він існує для цієї мети. Відповідь Майкла дуже корисна, коли вам доводиться працювати над проблемою, але зазвичай це гарна ідея уникати її повністю там, де ви можете.
Якщо ваша система за замовчуванням не встановлена на UTC, найпростіший спосіб передати часовий пояс - це префіксація вашої команди TZ
змінною оточення. Це обмежує перемикач зони на одну команду і запобігає проникненню змінної у наступні команди.
$ NOW=$(date '+%s')
$ date -d @$NOW
Wed Jun 11 23:44:35 EDT 2014
$ TZ=UTC date -d @$NOW
Thu Jun 12 03:44:35 UTC 2014
Що ви не повинні робити, це експортувати TZ
змінну, оскільки це може зробити речі дуже заплутаними для усунення несправностей, як показано нижче.
$ export TZ=UTC
$ date -d @$NOW
Thu Jun 12 03:44:35 UTC 2014
$ TZ=EDT date -d @$NOW
Thu Jun 12 03:44:35 EDT 2014
date
…