programing

time.struct_time 개체를 datetime 개체로 변환하려면 어떻게 해야 합니까?

javaba 2022. 12. 5. 22:47
반응형

time.struct_time 개체를 datetime 개체로 변환하려면 어떻게 해야 합니까?

Python을 변환하려면time.struct_time에 반대하다.datetime.datetime오브젝트?

저는 첫 번째 도서관과 두 번째 도서관을 제공하는 도서관이 있습니다.

time.mktime()사용하여 시간 태플(로컬 시간)을 Epoch 이후의 초수로 변환한 다음 datetime을 사용합니다.fromtimestamp()를 지정하여 datetime 객체를 가져옵니다.

from datetime import datetime
from time import mktime

dt = datetime.fromtimestamp(mktime(struct))

다음과 같이 합니다.

>>> structTime = time.localtime()
>>> datetime.datetime(*structTime[:6])
datetime.datetime(2009, 11, 8, 20, 32, 35)

이것은 당신의 질문에 대한 직접적인 답변이 아닙니다(이미 꽤 잘 대답했습니다).그러나 몇 번이고 그 원리에 대해 물어본 적이 있기 때문에 시간.struct_time 객체가 제공하는 것과 다른 시간 필드가 제공하는 것을 자세히 살펴봐야 한다는 것을 아무리 강조해도 지나치지 않습니다.

time.struct_time 객체와 다른 날짜/시간 문자열이 모두 있다고 가정하고, 데이터를 손실하거나 실수로 단순한 날짜/시간 객체를 만들지 않았는지 확인합니다.

예를 들어 우수한 피드파서 모듈은 "published" 필드를 반환하고 "published_parsed" 필드에 time.struct_time 개체를 반환할 수 있습니다.

time.struct_time(
    tm_year=2013, tm_mon=9, tm_mday=9, 
    tm_hour=23, tm_min=57, tm_sec=42, 
    tm_wday=0, tm_yday=252, tm_isdst=0,
)

이제 "published" 필드에서 실제로 얻을 수 있는 정보를 적어 둡니다.

Mon, 09 Sep 2013 19:57:42 -0400

스톨맨의 수염으로!시간대 정보!

이 경우 게으른 사람은 우수한 dateutil 모듈을 사용하여 시간대 정보를 유지할 수 있습니다.

from dateutil import parser
dt = parser.parse(entry["published"])
print "published", entry["published"])
print "dt", dt
print "utcoffset", dt.utcoffset()
print "tzinfo", dt.tzinfo
print "dst", dt.dst()

다음과 같은 이점을 얻을 수 있습니다.

published Mon, 09 Sep 2013 19:57:42 -0400
dt 2013-09-09 19:57:42-04:00
utcoffset -1 day, 20:00:00
tzinfo tzoffset(None, -14400)
dst 0:00:00

그런 다음 타임존 인식 datetime 개체를 사용하여 UTC 또는 사용자가 멋지다고 생각하는 모든 시간을 정규화할 수 있습니다.

언급URL : https://stackoverflow.com/questions/1697815/how-do-you-convert-a-time-struct-time-object-into-a-datetime-object

반응형