【问题标题】:Javascript: getSeconds("00") - 3 = 57 secJavascript:getSeconds("00") - 3 = 57 秒
【发布时间】:2021-07-10 10:49:27
【问题描述】:

我想让代码在给定时间前 3 秒执行任务。

类似这样的:

var Time = new Date('December 25, 1995 08:00:00:000');
Time.getSeconds() - 3 ;

这应该给我 57,而不是 -3

【问题讨论】:

  • 1.将日期修改为提前 3 秒 2. 获取秒数。 3. 完成
  • 如果你得到08:00:00的秒数,它就是00。如果减去 3,则结果为 -3。有道理,不是吗?为什么0 - 3要给57
  • 因为如果它是上午 08:00:00,-3 秒 = 07:59:57 :)
  • 你没有从 08:00:00am 中减去 3。您从Time.getSeconds() 中减去 3,即为0

标签: javascript date datetime time


【解决方案1】:

您需要首先通过专用方法设置秒 - 处理此类“翻转”的逻辑已经在其中实现 - 然后您再次读取

// var Time = new Date('December 25, 1995 08:00:00:000');
// careful with the above date format, not all browsers will parse this correctly
// modified version, for this example:
var Time = new Date('1995-12-25T08:00:00');
Time.setSeconds( Time.getSeconds() - 3 );
console.log(Time.getSeconds());

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
  • 2020-06-07
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多