我有一个文件.在Python中,我想花费它的创建时间,并将其转换为ISO time (ISO 8601) string,同时保留它在Eastern Time Zone(ET)中创建的事实.
如何获取文件的ctime并将其转换为指示东部时区的ISO时间字符串(并在必要时考虑夏令时)?
解决方法:
ISO 8601本地:
import datetime
datetime.datetime.now().isoformat()
UTC至ISO 8601:
import datetime
datetime.datetime.utcnow().isoformat()
本地到ISO 8601没有微秒:
import datetime
datetime.datetime.now().replace(microsecond=0).isoformat()
带有TimeZone信息的UTC到ISO 8601(Python 3):
import datetime
datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()
带有TimeZone信息的本地ISO 8601(Python 3):
import datetime, time
# Calculate the offset taking into account daylight saving time
utc_offset_sec = time.altzone if time.localtime().tm_isdst else time.timezone
utc_offset = datetime.timedelta(seconds=-utc_offset_sec)
datetime.datetime.now().replace(tzinfo=datetime.timezone(offset=utc_offset)).isoformat()
对于Python 2,请参阅并使用pytz.