在Javascript中以秒为单位转换getFullYear()

时间:2017-02-02 05:30:34

标签: javascript date

有没有办法在当前年初的实时秒内转换GetFullYear()?而不是2017年的产量,我有一个动态秒,直到今年年底。 以及获取以秒为单位转换的GetFullYear()的最大值以进行一些计算。 提前致谢

2 个答案:

答案 0 :(得分:1)

overflow:hidden to .container-inside div

答案 1 :(得分:1)

  

有没有办法在当前年初的实时秒内转换GetFullYear()?

要获得两个日期之间的毫秒差异,只需减去它们即可。要从年初获得ms,现在从1月1日00:00:00的日期减去,例如



function msSinceStartOfYear() {
  var now = new Date()
  return now - new Date(now.getFullYear(), 0);
}

console.log(msSinceStartOfYear());




  

除了获取以秒为单位转换的GetFullYear()的最大值以进行一些计算。

根据ECMA-262,最大时间值为9,007,199,254,740,992,即1970年1月1日或287,586年后约285,616年。这是 getFullYear 的理论最大值。

然而:

new Date(9007199254740992)

返回 null 。实际范围恰好是100,000,000天,因此要获得最大值,请将天数乘以每天的毫秒数:

new Date(100000000 * 8.64e7).getUTCFullYear() //  275,760

转换为秒:

new Date(Date.UTC(275760, 0)) / 1000  // 8,639,977,881,600 seconds

但我不知道你为什么要那样做。我使用UTC来消除时区差异。使用" local" timezone按时区偏移量更改值。