Я не понимаю, как python вычисляет время.Кажется, мне не соответствует.
Время моего сервера:
admin@httstools ~ $ date
Fri Dec 21 17:00:51 PST 2018
В интерпретаторе Python я получаю ожидаемый результат (например, 2018-12-21):
admin@httstools ~ $ python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> import datetime
>>> str(datetime.date.today())
'2018-12-21'
>>>
Но если я запутался в часовом поясе, все пошло не так:
>>> time.tzname[time.localtime().tm_isdst]
'PST'
PST - правильный часовой пояс.Но если я установлю свою среду на этот TZ, а затем снова выполню предыдущую команду, я получу другую дату, которая, очевидно, не верна:
>>> os.environ['TZ'] = time.tzname[time.localtime().tm_isdst]
>>> str(datetime.date.today())
'2018-12-22'
>>>
Ожидаемый результат будет 2018-12-21 спеременная TZ установлена в «PST».
В качестве продолжения, какую команду я могу запустить в python, которая всегда будет возвращать правильную дату / время в зависимости от моего местоположения.