您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

UTC 和ISO 8601时间格式的一些疑问

2026/1/3 5:46:25发布14次查看
严格的来说,这个标题可能不太正确,因为我首先度娘了一下,iso8601时间格式标准应该类似于:2016-01-18t23:41:00-08:00,而utc时间格式差不多类似
在做一个项目用到一个国外的api,返回的一个时间格式是:2016-01-18t23:41:00
我有几个问题想问一下:
1.因为没有搜索到具体资料,返回的这个2016-01-18t23:41:00 是utc时间和是iso-8601时间格式?
2.如上,如果这算是iso时间格式,因为没有指定时区,那么像“2016-01-18t23:41:00”这种情况,默认是+00:00吗?(如果是utc时间,也是类似的问题,没有指定时区/时差默认的是什么,如果有)
回复内容: 严格的来说,这个标题可能不太正确,因为我首先度娘了一下,iso8601时间格式标准应该类似于:2016-01-18t23:41:00-08:00,而utc时间格式差不多类似
在做一个项目用到一个国外的api,返回的一个时间格式是:2016-01-18t23:41:00
我有几个问题想问一下:
1.因为没有搜索到具体资料,返回的这个2016-01-18t23:41:00 是utc时间和是iso-8601时间格式?
2.如上,如果这算是iso时间格式,因为没有指定时区,那么像“2016-01-18t23:41:00”这种情况,默认是+00:00吗?(如果是utc时间,也是类似的问题,没有指定时区/时差默认的是什么,如果有)
utc 是时间标准;iso-8601 是表示时间的一种标准格式,多数编程语言都支持。
2016-01-18t23:41:00 是符合 iso-8601 标准的时间表示。
2016-01-18t23:41:00 里面的 t 表示 utc,所以这个字符串解析后就表示 utc 时间的 2016-01-18 23:41:00,那么再转换为北京当地时间展示(比如,在 javascript 里面 new date('2016-01-18t23:41:00').tolocalestring())时就会加上 8 小时的偏移,变成:2016-01-19 7:41:00。
更多这方面的东西,可以参考我之前写的文章:http://segmentfault.com/a/1190000004292140
首先你对这两个概念就有混淆, utc 是时间,并不是时间的格式,和 iso-8601 不能进行比较。
之后回答你问题,
ios-8601 不只有一个格式,而是包含很多格式,其中就有没有时区的为 0时区。当然,其他的格式中还有没有时间只有日期的。
附一份 ios-8601 官方规范
http://www.iso.org/iso/home/standards/iso8601.htm
维基百科:
time zones in iso 8601 are represented as local time (with the location unspecified), as utc, or as an offset from utc.
if no utc relation information is given with a time representation, the time is assumed to be in local time.
所以如果不指定时区,则表示的是本地时间。相当于localtime得到的时间。没指定时区不代表utc时间,utc时间必须最后写明z或者用+00之类的偏移。
那个t的意义仅仅是分隔符,没有别的意思。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product