如何使用 JS 将 GMT 日期时间转换为 GMT Unix TimeStamp?
Posted
技术标签:
【中文标题】如何使用 JS 将 GMT 日期时间转换为 GMT Unix TimeStamp?【英文标题】:How to convert GMT date time into GMT Unix TimeStamp using JS? 【发布时间】:2019-01-27 14:47:07 【问题描述】:我知道有多种方法可以将日期时间转换为 Unix 时间戳。
但问题是当我们将 GMT 的日期时间值转换为 Unix 时间戳时,它会根据我当地时区的值(即亚洲/加尔各答)显示时间戳的值
例如: GMT 的日期时间为:2018-08-21 11:37:56 所以当我将其转换为 Unix 时间戳时,它返回如下:
var t = new Date('2018-08-21 11:37:56').getTime() / 1000;
console.log(t); // 1534831676
我正在寻找1534851476
,它是根据 GMT 时区的值。
这是根据我当地时区亚洲/加尔各答的 Unix 时间戳。谁能帮我将 Unix 时间戳值转换为 GMT?
更多信息:您可以在这里on this link查看GMT日期时间的Unix时间戳值。
谢谢!
【问题讨论】:
试试new Date('2018-08-21T11:37:56Z').getTime() / 1000
如果你在日期字符串中不包含时区信息,你怎么能指望它知道你想要UTC时间?
在这一点上,日期构造函数的某些输入变体 do 假设 UTC :p
@JaromandaX 我在数据库中的日期时间值为 2018-08-21 11:37:56。
这很容易改变...'2018-08-21 11:37:56'.replace(' ', 'T')+'Z'
【参考方案1】:
没有时区,新日期假定为本地时间
所以,假设您检索字符串
var date = '2018-08-21 11:37:56';
你能做的是
var date = '2018-08-21 11:37:56';
var t = new Date(date.replace(' ', 'T') + 'Z').getTime() / 1000;
console.log(t); // 1534851476 - see for yourself
【讨论】:
以上是关于如何使用 JS 将 GMT 日期时间转换为 GMT Unix TimeStamp?的主要内容,如果未能解决你的问题,请参考以下文章