Как я могу преобразовать строку даты / времени, например 2011-11-13 08:11:02 +0000, в свой местный часовой пояс в командной строке?
Как я могу преобразовать строку даты / времени, например 2011-11-13 08:11:02 +0000, в свой местный часовой пояс в командной строке?
Ответы:
Использование 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
Если вы укажете один и тот же формат даты для ввода и вывода, вы будете конвертировать только время в местный часовой пояс. Но, как в примере, вы можете объединить это с преобразованием формата.
$TZ: TZ=EST date -jf %H%z 23+0100 +%I%p→05PM
date, а не GNUdate. Варианты совсем разные.