javascript – 自开始日期和时间以来的时间计数器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 自开始日期和时间以来的时间计数器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2599字,纯文字阅读大概需要4分钟。
内容图文
我有一个新的业务,我只是雇了一个人为我工作,我试图让她很容易跟踪她的时间,所以我创建了一个按钮时钟,在数据库中创建一个记录,我让它流行一个小窗口,当她完成工作时,她可以点击进行计时.
我想让它在弹出窗口中显示一个计数器,显示她已经工作了多长时间,所以我想创建一个javascript或jQuery,它将在某个时间开始并从那里开始计数.她在东海岸,我们公司在中央时区,所以落后她1小时.
如何从一定时间开始使用javascript并继续更新计时器,这样她就可以看到如下内容:
[你一直在为:01:01:01 HH :: MM :: SS] – 它正在积极更新,爬上去.
我发现的所有计时器都不是关于时间本身,而是关于时间开始倒数,或从0开始计算.
有没有办法告诉它一个开始时间,所以如果她重新加载页面,它不会从0开始,但会在她进入时开始,然后添加时间从那里开始?
我知道它可以做到,但我更像是一个Perl家伙,而不是一个Javascript家伙.我在Wordpress上这样做,所以我可以使用PHP并告诉她刷新页面以查看当前的时间量,然后让它在页面加载时显示当前的时间量,但我认为有一个计数器将是更好,让她更容易.
是否有一些代码已经完成,我可以修改自己使其工作?我找不到任何地方.我愿意做所有的工作,我不是要求有人为我做这件事.
我发现这个例子有人做了:
function get_uptime() {
var t1 = new Date()
var t2 = new Date()
var dif = t1.getTime() - t2.getTime()
seconds = dif / 1000;
Seconds_Between_Dates = Math.abs(seconds);
document.getElementById("seconds").innerHTML = Seconds_Between_Dates;
setTimeout(get_uptime, 1000);
}
get_uptime();
就是这样,但我现在不知道如何将第一次放在t1中,我将它放入哪种格式?
我可以让PHP以任何格式放置它,但不确定它需要它.
另外,这似乎只是把秒,而不是小时,分钟和秒.
有没有办法做到这一点?
谢谢,
理查德
解决方法:
根据您的问题,我了解您在开始时存储日期和时间?
因此,您可以使用PHP在起始Date对象中回显此信息,并让setInterval函数执行当前的timegetting和计算工作时间.
请参见此处的工作示例:http://jsfiddle.net/c0rxkhyz/1/
这是代码:
var startDateTime = new Date(2014,0,1,23,59,59,0); // YYYY (M-1) D H m s ms (start time and date from DB)
var startStamp = startDateTime.getTime();
var newDate = new Date();
var newStamp = newDate.getTime();
var timer; // for storing the interval (to stop or pause later if needed)
function updateClock() {
newDate = new Date();
newStamp = newDate.getTime();
var diff = Math.round((newStamp-startStamp)/1000);
var d = Math.floor(diff/(24*60*60)); /* though I hope she won't be working for consecutive days :) */
diff = diff-(d*24*60*60);
var h = Math.floor(diff/(60*60));
diff = diff-(h*60*60);
var m = Math.floor(diff/(60));
diff = diff-(m*60);
var s = diff;
document.getElementById("time-elapsed").innerHTML = d+" day(s), "+h+" hour(s), "+m+" minute(s), "+s+" second(s) working";
}
timer = setInterval(updateClock, 1000);
<div id="time-elapsed"></div>
注意!新Date()声明中的月号是减1(因此1月是0,2月1等)!
内容总结
以上是互联网集市为您收集整理的javascript – 自开始日期和时间以来的时间计数器全部内容,希望文章能够帮你解决javascript – 自开始日期和时间以来的时间计数器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。