moment 和 moment-timezone 之前的时区转换

不管哪个‘时间’,在地球上都是同一个‘‘时间’’,不同的是在不同的时区显示的不一样
比如:上海和纽约 同一时刻显示是不一样的

时间戳转换成指定时区的时间戳

比如 2024-01-31 13:41:57 的东八区的时间戳1706679717000 转换成纽约当前的显示
moment:https://momentjs.com/
moment-timezone: https://momentjs.com/timezone/

//依赖的安装:应该是大家常用的
npm install moment --save  
yarn add moment    

npm install moment-timezone --save  
yarn add moment-timezone    

1:在上海,创建纽约时间2024-01-31 13:41:57 的时间

const momentTz from "moment-timezone";
//在东八区操作,创建一个纽约早成八点的时间
momentTz.tz('2024-01-31 08:00:00', 'America/New_York')

2:时间戳显示指定时区:

momentTz(1706679717000).tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')//'2024-01-31 00:41:57'

3:获取指定时间2024-01-31 13:41:57 在指定时区(成西五区(纽约))的时间戳

const currentDate=moment(1706679717000).format('YYYY-MM-DD HH:mm:ss'); // 清除 timezone 信息
const desDate= momentTz.tz(currentDate, 'America/New_York').unix();//unix,valueOf...

注:momentTz(time).tz(timezone) 和 momentTz.tz(time, timezone) 的区别

1: momentTz(time).tz(timezone):把当前时区的时间变为指定的时区显示

比如当前东区八的时间某个时间在纽约显示是什么,后面直接跟.format()可以格式时间

2: momentTz.tz(time, timezone) :moment对象,是指创建一个指定时区的时间

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容