Преобразовать дату и время UTC Python в локальное время, используя только Стандартная библиотека python?

Это - бросок между Главными Первыми Шаблонами разработки по многим причинам, процитированным выше, и Тестирование Perl: Ноутбук Разработчика, который должен быть одной из библий для любого программиста Perl, желающего записать удобный в сопровождении код.

149
задан FunkySayu 22 December 2016 в 17:26
поделиться

1 ответ

Преобразуйте и вернитесь работы с меткой времени в Python3, моя дата и время возражает, часовой пояс, знающий, только импортируют дату и время, может быть hazzle свободный переписанный для результата испытаний Python2

test result .

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)!")
0
ответ дан 23 November 2019 в 22:26
поделиться
Другие вопросы по тегам:

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