본문 바로가기
파이썬

파이썬 기본 시간대를 포함하여 isoformat datetime 문자열을 얻는 방법은 무엇입니까?

by º기록 2020. 11. 12.
반응형

iso 형식 yyyy-mm-ddThh : mm : ss.ssssss-ZO : NE 와 일치하는 시간 문자열을 생성해야합니다. now () utcnow () 클래스 메서드는 내가 원하는대로 거의 수행합니다.

>>> import datetime
>>> #time adjusted for current timezone
>>> datetime.datetime.now().isoformat()
'2010-08-03T03:00:00.000000'
>>> #unadjusted UTC time
>>> datetime.datetime.utcnow().isoformat()
'2010-08-03T10:00:00.000000'
>>>
>>> #How can I do this?
>>> datetime.datetime.magic()
'2010-08-03T10:00:00.000000-07:00'

 

해결 방법

 

다음 예와 같은 것입니다. 저는 동부 호주에 있습니다 (UTC + 현재 10 시간).

>>> import datetime
>>> dtnow = datetime.datetime.now();dtutcnow = datetime.datetime.utcnow()
>>> dtnow
datetime.datetime(2010, 8, 4, 9, 33, 9, 890000)
>>> dtutcnow
datetime.datetime(2010, 8, 3, 23, 33, 9, 890000)
>>> delta = dtnow - dtutcnow
>>> delta
datetime.timedelta(0, 36000)
>>> hh,mm = divmod((delta.days * 24*60*60 + delta.seconds + 30) // 60, 60)
>>> hh,mm
(10, 0)
>>> "%s%+02d:%02d" % (dtnow.isoformat(), hh, mm)
'2010-08-04T09:33:09.890000+10:00'
>>>

 

참조 페이지 https://stackoverflow.com/questions/3401428

 

 

반응형

댓글