Python中的ISO时间(ISO 8601)

我有一个文件.在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.

上一篇:在Javascript中解析ISO 8601日期


下一篇:vue+element-ui中上传文件使用Progress自定义实时更新进度条