Moment Timezone(前端时区转换工具)

moment.timezonemoment额外封装的一个插件,专门用于修改时区,具有部分moment的方法。

一、安装

npm install moment-timezone
//或
yarn add moment-timezone

二、引入

import moment from 'moment-timezone'

上一篇文章中已经讲解了moment的用法,这里的引入的momentmoment-timezone的实例,如果同一文件下同时引入momentmoment-timezone,则需要区别实例名字。
例如:

// 这里使用momentTz是为了区别于moment的实例,你也可以取其他名字作为moment-timezone的实例
import momentTz from 'moment-timezone'
const moment = require('moment')

三、使用

import moment from 'moment-timezone'
moment().tz("America/Los_Angeles").format('YYYY-MM-DD HH:mm:ss')//这里拿到的就是美国洛杉矶的当地时间
moment('2022-11-01').tz("America/Los_Angeles").format('YYYY-MM-DD HH:mm:ss');//返回2022-10-31 09:00:00,洛杉矶与北京的时差为16小时
  • 提示:以下两种书写方式返回的不一样
const time1 = moment.tz("2013-11-18 11:55", "America/Los_Angeles");
const time2 = moment("2013-11-18 11:55").tz("America/Los_Angeles");

time1 返回的是这个时间附带上洛杉矶时区名字(并没有切换时间到洛杉矶时区)
time2 返回的是切换到洛杉矶时区后的时间

四、默认时区

  • 更换默认时区,之后获得的时间都是重置之后时区的时间
moment.tz.setDefault("America/New_York")
moment().format('YYYY-MM-DD HH:mm:ss')//返回的是纽约的当地时间
  • 想要恢复当地的默认时区,则不带参数调用
moment.tz.setDefault()

五、可选时区

官网提供了能转换的所有时区,以地图的形式展示。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_49909696/article/details/127912472
今日推荐