JavaScript:将时区偏移添加到保存为字符串的AM / PM日期?

时间:2014-08-13 15:07:39

标签: javascript date time date-conversion

我有格式(GMT -7)的多个字符串:

var date1 = "08-12-2014 10:38 PM"; //MM-DD-YYYY HH:MM

我想将日期/时间更改为GMT -3(基本上每个日期/时间增加4小时)。我无法在UTC中提取日期,它们都是上述格式。如果不弄乱日期并保持AM / PM格式,最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

JS有一个内置的时区方法,

var d = new Date()
var n = d.getTimezoneOffset();

将返回与UTC时间偏移的小步号。除以60得到小时,

var x = n/60;

然后使用d上的setHours()方法在时间戳中添加/减去x

var mydatetouse = d.setHours(x);

http://www.w3schools.com/jsref/jsref_sethours.asp

答案 1 :(得分:0)

使用moment.js我已经找到了问题的答案:

var date1 = "08-12-2014 10:38 PM"; //MM-DD-YYYY HH:MM
var new date = moment(date1, "MM-DD-YYYY hh:mm A").add(4, 'hours').format("MM-DD-YYYY hh:mm A"));