背景:时间范围组件切换时区,相应的图表展示的时间也需要改变格式。
切换选项只有本地时区和UTC/GMT,本地时区就是字面意思,国内是东八区,new Date()
的结果默认是本地时区;UTC/GMT表示0时区。
GMT:
格林尼治所在地的标准时间
UTC:
协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。
表示0时区之前用的是ISO格式,类似2023-01-17T07:02:36.467Z
,T分隔日期和时间,Z表示0时区;但私觉得本地时区用的是GMT+0800
,0时区也应该是这样,不然就统一用ISO,在时间最后用5位偏移量表示时区(如+0800)。
后来看了一下Angular自带的日期管道,有比较完善的解决方法。用法不多介绍了,简单来说就是transform(value: Date | string | number, format?: string, timezone?: string, locale?: string)
的format参数可以指定ISO或GMT,timezone指定时区(不设置默认为本地)。
网友评论