Преобразование определенного времени в определенном часовом поясе во время в часовом поясе пользователя без использования даты GNU

Для сбора журналов для Debian вы можете использовать команду journalctl с вариант вчера :

journalctl --since yesterday
2
05.01.2017, 22:39
2 ответа

Это довольно неуклюже, но это должно происходить в MacOS с использованием только оболочки и команды date :

Преобразование 2017-01-05 10:00:00 по североамериканскому восточному времени в местный часовой пояс системы:

date -r $(TZ=America/Montreal date -j 010510002017 +%s)

Чтобы преобразовать это в часовой пояс, отличный от местного, добавьте к внешней команде префикс желаемого целевого часового пояса:

TZ=Australia/Sydney date -r $(TZ=America/Montreal date -j 010510002017 +%s)

Остерегайтесь чрезвычайно странного формата ввода даты: mmddHHMMYYYY

4
27.01.2020, 21:56

POSIX API не очень богаты в этом отношении. Вам, вероятно, лучше использовать что-то вроде pytz, чем системные инструменты:

#!/usr/bin/python

import datetime
import pytz

eastern = pytz.timezone('America/Montreal')
britain = pytz.timezone('Europe/London')
datetime.datetime(2017, 1, 5, 10, 0, tzinfo=eastern).astimezone(britain)
1
27.01.2020, 21:56

Теги

Похожие вопросы