此代码应该给我直到2014年3月20日的秒数。它在我的电脑上工作正常,但它在我的iPad上不起作用。
它在狩猎和铬中都给了我NaN
可能有什么不对?
function timer() {
var day = "20";
var month = "03";
var year = "2014";
var hour = "00";
var minute = "00";
var second = "00";
var ToDate = new Date(month+ ","+day+","+year+" "+hour+":"+minute+":"+second);
var now = Date.now();
var NewDate = ToDate - now;
var SecCount = Math.round(NewDate / 1000);
document.write(SecCount);
setTimeout(timer,1000);
}
这个问题在这里有点相同:Javascript age calculation on IPad,但我不确定如何实现代码
date = date.replace(/-/,"/").replace(/-/,"/"); //substitute - with /
进入我的代码。
谢谢你
P.S。这是网站的链接:http://ss-cal.com/lab
答案 0 :(得分:2)
您是否尝试过var ToDate = new Date(year, month, day, hour, minute, second);
来创建Date对象?
这是另一种创建Date对象的方法,而不必解析字符串中的值,因为你已经将它们分开,它甚至可能更快。
请注意,从0 = 1月开始计算月数,3 = 4月而不是3月
请参阅此小提琴,了解一些替代方案:http://jsfiddle.net/52XH2/2/
// ISO standard format
var ToDate = new Date(year + "-" + month + "-" + day + "T" + hour + ":" + minute + ":" + second);
var now = Date.now();
console.log(ToDate.toString());
var NewDate = ToDate - now;
请参阅此内容以供参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date