我一直在阅读有关日期的 JavaScript 'off-by-one' 的信息,但我不知道如何在这种情况下实现它。我正在将 Internet Explorer cookie 中的一些值转换为 Microsoft FILETIME,但它总是提前一天,代码是:
function ConvertToFiletime(high, low) {
var seconds = 1e-7 * (high * Math.pow(2, 32) + low) - 11644473600;
var date = new Date.UTC(1970,1,1);
date.setSeconds(date.getSeconds() + seconds);
return date;
}
这可以很好地完成转换,但我无法找到处理额外一天的最佳方法,我认为这是由于缺少时区。我需要减去一天的秒数吗?或者,还有更好的方法。