我需要计算两个时间戳之间的时间差,格式如下:
yyyyMMddHHmmss
比如我有
var lastExecution = 20150116165100; //--- 16:51:00 16/01/2015
var currentTime = 20150116170120; //--- 17:01:20 16/01/2015
在这个特定的例子中,经过的时间是00:10:20
。
如何在js中计算?我是否必须将其转换为其他格式,然后才能继续?
我想要实现的是能够在变量中设置一个最小运行时间,如果lastExecution和现在之间的运行时间大于我想要启动特定函数的最小运行时间:
minTime = 00000000001000; //--- 10 minutes
var lastExecution = getLastExecutionTimestamp();
var currTime = getCurrentTimestamp();
if((currTime - lastExecution) > minTime){ //--- I need help here to calculate the elapsed time
doSomething();
}
getLastExecutionTimestamp()
和getCurrentTimestamp()
返回yyyyMMddHHmmss
的数字时间戳,例如20150116165100
谢谢你
3条答案
按热度按时间sqxo8psd1#
我不认为有一个真正简单和优雅的方法来做到这一点。我会从两个字符串中提取日期值,将它们转换为秒或任何浮动的值,然后减去并测量minTime,如下所示:
然后对所有其他值执行相同的操作,将它们相加,然后从currTime()解析的值中减去。
等等,忘了JavaScript中的Date()类。Yay for builtins!
基本上,只解析日期字符串中的int值,然后将它们提供给构造函数like so。然后,可以用
dateObject.getTime() - otherDateObject.getTime()
减去这两个日期值8aqjt8rx2#
试试这个,它使用你想要的格式:
链接:http://jsfiddle.net/nxjk1L8s/
ltskdhd13#
使用Java 1。8、我的剧本对我有用。试试这个...
o/p: