moment.js utc时间转换为当地时间、自动转换为全球各地的当地时间
moment.js 设置全局的默认语言、地区
代码示例:
// set global locale
moment.locale(navigator.language)
// moment
.
locale
('zh-CN'
)
moment.js utc 时间转换为当地时区显示
moment
.
utc
(
utcDate
).
local
().
format
(
'lll'
)
测试
moment.utc('2018-08-16T07:04:49.05').local().format('lll')
// 得到结果:2018年8月16日 15:04
除了这个方法,还有的方法就是:
设置时区 Timezone ,取得对应的当地地区的时间:
var jun = moment("2014-06-01T12:00:00Z");
jun.tz('America/Los_Angeles').format('ha z');
根据用户的语言、国家,自动转换对应的语言、地区的时间格式
根据上面的代码示例,
已经知道了:如何用moment js 设置语言、国家;如何得到本地化的时间展示格式。
根据这2个,你可以轻松实现:按用户所用的浏览器语言国家、按用户所选的语言国家,设置 moment 的全局语言、国家,得到对应的时区的时间格式。
这样就实现了:utc时间自动转换为全球各地的当地时间。
实践测试
原始时间字符串:2018-08-18T06:13:09.15
修改不同的语言、地区(moment.locale(locale)):
zh-CN
en-US
en-GB
以上2个语言分别得到的时间格式:
2018年8月18日 14:13
Aug 18, 2018 2:13 PM
18 Aug 2018 14:13
也就是使用 moment.utc(utcDate).local().format('lll') 得到的结果。
moment.js utc时间转换北京时间
网上找到的示例:
moment(createdAt).utc().zone(-8).format(‘YYYY-MM-DD HH:mm:ss’)
什么是 UTC 时间?
wiki:
协调世界时
(
英语:
C
oordinated
U
niversal
T
ime
,法语:
T
emps
U
niversel
C
oordonné
,简称
UTC
)是最主要的世界时间标准,其以
原子时
秒长为基础,在时刻上尽量接近于
格林尼治标准时间
。
moment.js 太大了,dayjs 也许是更好的替代品
Dayjs is a date library alternative to Moment.js with the same modern API.
Moment.js
, 60KB(gzip, with locals) (17KB gzip without locals)
Dayjs 是一个日期时间处理库,跟 Moment.js 有着一样的API,用来替代 Moment.js 真的不错的选择。
强烈推荐 day js。