Это - бросок между Главными Первыми Шаблонами разработки по многим причинам, процитированным выше, и Тестирование Perl: Ноутбук Разработчика, который должен быть одной из библий для любого программиста Perl, желающего записать удобный в сопровождении код.
Преобразуйте и вернитесь работы с меткой времени в Python3, моя дата и время возражает, часовой пояс, знающий, только импортируют дату и время, может быть hazzle свободный переписанный для результата испытаний Python2
.
import datetime
def mz(dt,tzsecs):
return dt.replace(tzinfo=datetime.timezone(datetime.timedelta(seconds=tzsecs)))
def local2utc(local):
return mz(datetime.datetime.utcfromtimestamp(local.timestamp()),0)
def utc2local(utc):
utc_ts=utc.timestamp()
local_ts=mz(datetime.datetime.fromtimestamp(utc_ts),0).timestamp()
return mz(datetime.datetime.fromtimestamp(utc_ts),local_ts-utc_ts)
я сделал пример, ясно демонстрирующий это и как использовать мои функции!
fmt="%c %Z"
u=mz(datetime.datetime.utcnow(),0)
dm=u.month-1
dy=u.year
for m in range(12):
u=u.replace(year=dy+int((dm+m)/12),month=1+(dm+m)%12)
dt=u
l=utc2local(u)
print("Convert",u.strftime(fmt)," == ",l.strftime(fmt))
u=local2utc(l)
print("Reverse",l.strftime(fmt)," == ",u.strftime(fmt),dt==u)
print("Noted DST is active in summer (Rome, Stockholm UTC+2)!")