我对 JavaScript 有点陌生,但我确实有一些基本的了解。我想创建一个可以接受日期和时间的倒数计时器,但我不确定如何或从哪里开始。
我希望倒数计时器是这样的:http ://www.timeanddate.com/clocks/freecountdown.html
那么如何确保它在指定的时区、闰年和 DST 设置内工作?
我对 JavaScript 有点陌生,但我确实有一些基本的了解。我想创建一个可以接受日期和时间的倒数计时器,但我不确定如何或从哪里开始。
我希望倒数计时器是这样的:http ://www.timeanddate.com/clocks/freecountdown.html
那么如何确保它在指定的时区、闰年和 DST 设置内工作?
欢迎来到 Stackoverflow!
我不会透露所有内容,但是如果您希望时间明确正确(即使客户的计算机设置为错误的日期),您也必须使用类似TimeAPI的东西。
如果您想确保它在指定的时区、闰年等情况下工作,Date对象应该可以解决问题:
var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
处理 DST 比较复杂,但一般的共识就是使用Date 对象的 UTC 方法:
var d=Date.UTC(2012,02,30);
这将确保您没有跨越任何时区边界。SO上有几个与此类似的问题,请随意搜索。
坦率地说,你需要更多地学习 javascript。
查看:
基本上,您可以使用函数设置日期的各个时间部分。然后计算当前日期和所需结束日期之间的差异(获取毫秒差异,然后计算时间字符串以显示剩余时间)。
一旦您生成了一些实际代码,请用它更新您的问题,我们可能会为您提供更多帮助。
这不是很先进,但它是一个好的开始。示例将打印到 2015 年还有多少天、多少小时和多少分钟。
// NewYearCalculator
// Written by Riku Viitanen
// 2014
today = new Date();
BigDay = new Date("1, 1, 2015");
msPerDay = 24 * 60 * 60 * 1000 ;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
e_hrsLeft = (e_daysLeft - daysLeft)*24;
hrsLeft = Math.floor(e_hrsLeft);
minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60);
document.write("Only " + daysLeft + " days, " + hrsLeft +" hours and " + minsLeft + " minutes left to year 2015!");
对不起我的英语不好,如果是:3