如何在JavaScript中创建一个高级倒计时计时器
How to create an advanced countdown timer in JavaScript?
我对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。
查看:
- JavaScript日期和时间教程
- 日期/时间函数 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
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何为一个搜索框实现两个高级自动补全
- 单击一个菜单项时显示隐藏字段 - 高级自定义字段转发器
- 高级jQuery选择器,需要一个jQuery忍者来回答
- Wordpress高级自定义字段,谷歌地图,一次只打开一个信息窗口
- 如何打开和关闭一个边栏与jQuery高级设置
- 如何在JavaScript中创建一个高级倒计时计时器
- 高级自定义字段/基于另一个字段填充选择
- 我想做一个高级搜索与javascript.如何去做