我试图测试是否已经过了一段时间.我用javascript.
两个示例都使用此变量:
var delete_after = 2 /*minutes*/ * 60 /*seconds*/ * 1000/*miliseconds*/; // [miliseconds]
Run Code Online (Sandbox Code Playgroud)
这有效:
var now = new Date();
var now_t = now.getTime();
var then = new Date(x.time); // x.time is string with a time
var then_t = then.getTime();//).getTime();
if (now_t - then_t > delete_after) {
alert("deleted");
}
Run Code Online (Sandbox Code Playgroud)
这不是:
if (Date().getTime() - Date(x.time).getTime() > delete_after) {
alert("deleted");
}
Run Code Online (Sandbox Code Playgroud)
我相信他们是等同的,但他们不是.我检查了优先级,最后看来我必须调用new来创建变量.似乎无法调用(new Date().getTime()).拜托,你会这么好解释为什么不能写第二种方式吗?
Date().getTime()
是不一样的
(new Date()).getTime()
Date(x.time).getTime()
是不一样的
(new Date(x.time)).getTime()