我有一个字符串日期和utcoffset
var date = '06/30/2016';
var utcOffset = -7.0;
我需要一个Javascript函数,使用utcoffset
将字符串日期转换为utc我尝试了以下方式,它仅适用于Chrome,但在IE / 11 / edge和FF中不起作用。
var date = '06/30/2016';
var utcOffset = -7.0;
var startDate = moment(date).toDate();
var offsetDate = moment(startDate + offset).toDate();
我是否可以通过其他方式在所有浏览器中实现此目的。
我也尝试了以下方法,但它不起作用
var date = '06/30/2016';
var utcOffset = -7.0;
var d = moment(date).toDate();
d.setTime( d.getTime() + offset*60*1000 );
答案 0 :(得分:1)
请尝试以下功能:
function dateToUTC(date, offset) {
var tzDate = moment(date).utcOffset(offset);
var utcDate = new Date(date+tzDate.format('ZZ'));
if(isNaN( utcDate.getTime() ) ) {
return moment(date+tzDate.format('Z'))
}
return moment(utcDate);
}
<强>用法:强>
var date = '06/30/2016';
var utcOffset = -7.0;
dateToUTC(date, utcOffset); // Thu Jun 30 2016 07:00:00 GMT+0000
答案 1 :(得分:0)
尝试以下代码,它应该工作。它适用于所有浏览器。
var d =new Date(modifieddate);
var _userOffset =d.getTimezoneOffset()*60000;
d = new Date(d.getTime()+_userOffset);
您可以放置自己的偏移值而不是计算。如果有帮助,请告诉我:)。