前言
在国际化中,经常会碰到因为服务器时区和用户时区不一致,导致时间错乱的问题;
代码也非常的简单,只需要用到 Date对象 以下这个方法:
getTimezoneOffset()可以获取当前系统时区距离0时区的分钟
代码
const getDateMill = (str) => {
// 获取本地date
const currDate = str ? new Date(str) : new Date()
// 获取本地的时间 与 0时区的偏移值(分钟)
const timezoneOffsetMinutes = currDate.getTimezoneOffset()
// hk是+8时区,距离0时区就是 -8 小时,以此为例,看服务器是什么时区的
const targetTimezoneOffsetMinutes = -8 * 60
// 计算时区的差值毫秒值
const targetTimeStamp = currDate.getTime() + ((targetTimezoneOffsetMinutes - timezoneOffsetMinutes) * 60 * 1000)
return targetTimeStamp
}