添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
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');  // 5am PDT



根据用户的语言、国家,自动转换对应的语言、地区的时间格式


根据上面的代码示例,
已经知道了:如何用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.
Dayjs , 2.6KB(gzip)
Moment.js , 60KB(gzip, with locals) (17KB gzip without locals)


Dayjs 是一个日期时间处理库,跟 Moment.js 有着一样的API,用来替代 Moment.js 真的不错的选择。
强烈推荐 day js。
这里有个 day js demo 演示 ,试试吧。