javascript - 在 javascript Date 中添加或减去时区差异

标签 javascript date

向下面的 targetTime 变量添加或减去时区差异的最佳方法是什么。 GMT 时区值来自数据库,格式如下:1.00 表示伦敦时间,-8.00 表示太平洋时间,依此类推。

代码如下所示:

date = "September 21, 2011 00:00:00";
targetTime = new Date(date);

最佳答案

您可以使用 Date.getTimezoneOffset 返回与 GMT 的本地偏移量(以分钟为单位)。请注意,它返回的值与您可能期望的符号相反。所以 GMT-5 是 300,GMT+1 是 -60。

var date = "September 21, 2011 00:00:00";
var targetTime = new Date(date);
var timeZoneFromDB = -7.00; //time zone value from database
//get the timezone offset from local time in minutes
var tzDifference = timeZoneFromDB * 60 + targetTime.getTimezoneOffset();
//convert the offset to milliseconds, add to targetTime, and make a new Date
var offsetTime = new Date(targetTime.getTime() + tzDifference * 60 * 1000);

关于javascript - 在 javascript Date 中添加或减去时区差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403486/

相关文章:

javascript 正则表达式检查 url 中的某些特殊字符

javascript - Knockout.Mapping 和 EcmaScript 5 已设置

where 查询中的 Ruby 格式 DateTime 参数

javascript - 如何获取日期输入字段的值

java - 使用 DateTimeFormatter 和 LocalDateTime 检索日/月/年的小时/分钟 (Java 1.8)

jQuery FullCalendar JSON 日期问题

javascript - 当满足指定条件时立即退出 JavaScript 函数?

javascript - sequelize 上的多个外键(一对多或多对多)?

javascript - 更改 Div 以适合网站的底部

vba - excel日期格式与vba中的不一样