如何每秒更新指定初始DateTime?现有代码需补充更新逻辑
没问题,我来帮你搞定这个每秒更新指定初始时间的需求~
解决方案
你只需要在test函数里给dte对象的时间累加1秒就行,JavaScript的Date对象自带了方便的方法来处理这个,而且会自动帮你处理时间进位(比如59秒变0秒、分钟自动加1这类边界情况),下面给你两种实用的实现方式:
方法一:用getTime()和setTime()(通用毫秒级操作)
这种方法直接操作时间戳,逻辑清晰,适合所有时间单位的调整:
var dte = new Date("October 11, 2017 08:01:29"); // 建议直接传函数引用,比字符串调用更安全高效 setInterval(test, 1000); function test(){ // 获取当前时间戳(毫秒),加1000毫秒(1秒)后重新设置 dte.setTime(dte.getTime() + 1000); console.log(dte); }
方法二:用setSeconds()(更直观的秒级操作)
如果只需要加1秒,用这个方法语义更明确:
var dte = new Date("October 11, 2017 08:01:29"); setInterval(test, 1000); function test(){ // 获取当前秒数,加1后重新设置,自动处理进位 dte.setSeconds(dte.getSeconds() + 1); console.log(dte); }
小提醒
不要用setInterval('test()', 1000)这种字符串形式的调用哦,直接传函数引用setInterval(test, 1000)不仅更安全,还能避免不必要的全局作用域查找,性能也更好~
内容的提问来源于stack exchange,提问作者KasaiJo
相关产品推荐
相关产品推荐

