在编写web应用程序时,将(服务器端)所有日期时间作为UTC时间戳存储在DB中是有意义的。
当我注意到在JavaScript中无法在时区操作方面原生做很多事情时,我感到很惊讶。
我稍微扩展了Date对象。这个函数有意义吗?基本上,每次我向服务器发送任何东西,它都将是一个用这个函数格式化的时间戳…
这里有什么主要问题吗?或者换个角度解决?
Date.prototype.getUTCTime = function(){
return new Date(
this.getUTCFullYear(),
this.getUTCMonth(),
this.getUTCDate(),
this.getUTCHours(),
this.getUTCMinutes(),
this.getUTCSeconds()
).getTime();
}
我只是觉得有点费解。我对表现也不是很确定。
以常规格式获取UTC时间的最简单方法如下:
> new Date().toISOString()
"2016-06-03T23:15:33.008Z"
如果需要EPOC时间戳,则将日期传递给date。解析方法
> Date.parse(new Date)
1641241000000
> Date.parse('2022-01-03T20:18:05.833Z')
1641241085833
或者可以使用+进行从Date到Int的类型转换
> +new Date
1641921156671
EPOC时间戳,以秒为单位。
> parseInt(Date.parse('2022-01-03T20:18:05.833Z') / 1000)
1641241085
> parseInt(new Date / 1000)
1643302523
以常规格式获取UTC时间的最简单方法如下:
> new Date().toISOString()
"2016-06-03T23:15:33.008Z"
如果需要EPOC时间戳,则将日期传递给date。解析方法
> Date.parse(new Date)
1641241000000
> Date.parse('2022-01-03T20:18:05.833Z')
1641241085833
或者可以使用+进行从Date到Int的类型转换
> +new Date
1641921156671
EPOC时间戳,以秒为单位。
> parseInt(Date.parse('2022-01-03T20:18:05.833Z') / 1000)
1641241085
> parseInt(new Date / 1000)
1643302523