我正在制作一个迷你出勤模块,但我不知道这样做所以请帮助我,用户必须每 3 小时参加一次,所以如果他们在 3:05 参加,与时间的差异将是 的值$迟到
这是我获取时间在页面中显示的代码
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
if (minutes < 10){
minutes = "0" + minutes
}
document.write(hours + ":" + minutes + " ")
if(hours > 11){
document.write("PM")
} else {
document.write("AM")
}
所以我打算用这个把时间存入数据库
INSERT INTO time_in(late,time_in)
VALUES ('$late,NOW())";
还有我的大问题。 我怎样才能得到所需时间的差异?以及如何将差异插入我的数据库?
最佳答案
Javascript Date 对象定义了一个名为 .getTime()
的方法,该方法将对象转换为整数,即从 01.01.1970 00:00:00 开始的毫秒数。
所以差异可以这样计算:
var before = new Date('2017-02-07 06:00:00');
var after = new Date('2017-02-07 07:00:00');
var diff = after.getTime() - before.getTime();
// 3600000 milliseconds
或使用 (+) 快捷键:
var diff = +before- +after;
你说用户必须每 3 小时参加一次,所以与最近一次出席时间的差值将这样计算:
var now = new Date();
var attTime = new Date(+now - (+now % (3*3600*1000)));
var minutesLate = Math.round((+now - +attTime)/60000);
关于javascript - 当前时间减去提交时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42082831/