从带有moment的非本地ISO8601字符串获取时间(小时,分钟)



我想获得指定时区的ISO8601字符串的时间。

但是,每当我获取ISO8601字符串的moment对象时,它都会将所有内容转换为我的机器的本地时间。

。当我执行moment("2015-09-15T07:55+02:00").hours()时,它返回1,因为它将其转换为2015-09-15T01:55:00-04:00"

我如何使它返回7小时?

我想这会有帮助:

http://momentjs.com/docs//解析/特殊格式/

moment("2010-01-01T05:06:07", moment.ISO_8601);

不确定时刻,但这是我的东部时区转换器,如果它有帮助…

getServerDate: function(dateValue) {
    var dateJan;
    var dateJul;
    var timezoneOffset;
    // Get dates for January and July
    dateJan = new Date(dateValue.getFullYear(), 0, 1);
    dateJul = new Date(dateValue.getFullYear(), 6, 1);
    // Get timezone offset
    timezoneOffset = Math.max(dateJan.getTimezoneOffset(), dateJul.getTimezoneOffset());
    // Check if daylight savings
    if (dateValue.getTimezoneOffset() < timezoneOffset) {
      // Adjust date by 4 hours
      dateValue = new Date(dateValue.getTime() + ((1 * 60 * 60 * 1000) * 4));
    } else {
      // Adjust date by 5 hours
      dateValue = new Date(dateValue.getTime() + ((1 * 60 * 60 * 1000) * 5));
    }
    return dateValue;
},

最新更新