Як перетворити рядок дати в поточний часовий пояс у командному рядку?


11

Як я можу конвертувати рядок дати / часу, наприклад 2011-11-13 08:11:02 +0000, у мій локальний часовий пояс у командному рядку?


Не соромтесь додавати різні відповіді, але пам’ятайте, що в OS X є BSD date, а не GNU date. Варіанти зовсім інші.
Даніель Бек

Відповіді:


17

Використовуйте date -jf "<input format>" "<input value>" +"<output format>".

Далі перетворює дату UTC у мій місцевий часовий пояс (CET):

$ date -jf "%Y-%m-%d %H:%M:%S %z" "2011-11-13 08:11:02 +0000" +"%Y_%m_%d__%H_%M_%S"
2011_11_13__09_11_02

Якщо ви вкажете один і той же формат дати як для введення, так і для виводу, ви перетворите час лише у ваш локальний часовий пояс. Але, як у прикладі, ви можете поєднати це з перетворенням формату.


2
Цільовий часовий пояс може бути змінений шляхом тимчасового настройки $TZ: TZ=EST date -jf %H%z 23+0100 +%I%p05PM
LRI
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.