프로그래밍 언어/Python

Python의 ISO 시간 (ISO 8601)

Rateye 2021. 9. 8. 10:26
728x90
반응형
질문 : Python의 ISO 시간 (ISO 8601)

파일이 있습니다. Python에서는 생성 시간을 가져 와서 ET ( Eastern Time Zone) 에서 생성되었다는 사실을 유지하면서 ISO 시간 (ISO 8601) 문자열 로 변환하고 싶습니다.

파일의 ctime을 가져 와서 동부 표준 시간대를 나타내는 ISO 시간 문자열로 변환하려면 어떻게해야합니까 (필요한 경우 일광 절약 시간을 고려함)?

답변

ISO 8601 로컬 :

import datetime
datetime.datetime.now().isoformat()
>>> 2020-03-20T14:28:23.382748

UTC-ISO 8601 :

import datetime
datetime.datetime.utcnow().isoformat()
>>> 2020-03-20T01:30:08.180856

마이크로 초없이 ISO 8601에 로컬 :

import datetime
datetime.datetime.now().replace(microsecond=0).isoformat()
>>> 2020-03-20T14:30:43

TimeZone 정보가 포함 된 UTC에서 ISO 8601 (Python 3) :

import datetime
datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()
>>> 2020-03-20T01:31:12.467113+00:00

마이크로 초 (Python 3)없이 현지 시간대 정보를 사용하는 UTC-ISO 8601 :

import datetime
datetime.datetime.now().astimezone().replace(microsecond=0).isoformat()
>>> 2020-03-20T14:31:43+13:00

TimeZone 정보를 포함한 ISO 8601 로컬 (Python 3) :

import datetime
datetime.datetime.now().astimezone().isoformat()
>>> 2020-03-20T14:32:16.458361+13:00

UTC 시간에 astimezone() 을 사용할 때 버그가 있습니다. 이것은 잘못된 결과를 제공합니다.

datetime.datetime.utcnow().astimezone().isoformat() #Incorrect result

Python 2의 경우 pytz를 참조하고 사용하십시오.

출처 : https://stackoverflow.com/questions/2150739/iso-time-iso-8601-in-python
728x90
반응형