时间戳字符串末尾的Z字符是否属于标准写法?
时间戳字符串末尾的Z字符是否为标准写法?
相关格式示例
- Pandas生成的本地时间戳:
import pandas as pd ts = pd.Timestamp(2020, 3, 14, 15) # 输出:Timestamp('2020-03-14 15:00:00')
- 使用
datetime.isoformat()生成带分隔符的格式:
import datetime dateTime = datetime.datetime.today() print(dateTime.isoformat(sep="T")) # 输出:2023-05-20T08:53:09.815989
- 疑问中的目标格式:
2020-01-02T00:00:00.000Z
用户通过以下代码遍历pytz时区列表,未发现Z字符:
import pytz for timeZone in pytz.all_timezones_set: print(timeZone)
回答
时间戳末尾加Z是标准写法,它属于ISO 8601时间规范的一部分。
Z是"Zulu"的缩写,专门用来表示UTC(协调世界时),也就是零时区的时间。在ISO 8601里,Z和+00:00是等价的,都是用来标记当前时间戳属于UTC时区。
至于pytz的时区列表里没有Z,是因为Z是ISO标准里的时区表示符号,不是具体的时区名称。pytz里的时区都是类似UTC、Asia/Shanghai这类命名式的标识,自然不会包含Z这个符号。
你也可以用Python生成符合标准的带Z的时间戳:
from datetime import datetime, timezone utc_now = datetime.now(timezone.utc) # 直接生成带+00:00的格式 print(utc_now.isoformat()) # 替换为Z格式 print(utc_now.isoformat().replace("+00:00", "Z"))
内容的提问来源于stack exchange,提问作者showkey
相关产品推荐
相关产品推荐

