不管哪个‘时间’,在地球上都是同一个‘‘时间’’,不同的是在不同的时区显示的不一样
比如:上海和纽约 同一时刻显示是不一样的
时间戳转换成指定时区的时间戳
比如 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()可以格式时间