我一直在阅读关于JavaScript‘逐个’的日期,但我不知道如何在这种情况下实现它。我正在将Internet cookie中的一些值转换为Microsoft,但总有一天会提前,代码如下:
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;
}这样的转换做得很好,但我无法找到处理额外一天的最佳方法,我认为这是因为缺少时区。我需要减去一天的几秒钟吗?或者有没有更好的方法。
发布于 2018-11-01 16:01:04
您的错误在这一行中:
var date = new Date.UTC(1970,1,1);Date.UTC(1970, 1, 1)实际上是2月1日,因为月份索引从0开始。你很可能想要1月1日的Date.UTC(1970, 0, 1)。
此外,new Date.UTC()会在最新版本的Chrome和IE 11上为我抛出一个错误。要正确创建日期对象,请使用:
new Date(Date.UTC(1970, 0, 1))https://stackoverflow.com/questions/53090058
复制相似问题