使用一个Date()实例,我怎样才能将时间缩短到最接近的五分钟?
例如:如果是下午4:47,它会将时间设置为下午4:45
我懒得在每个月末都填写我的工作时间表,所以我开始在PDF表单中添加一些功能.Acrobat Pro提供了使用JavaScript进行高级计算,但我遇到了这个问题.
我有两个字段,我在其中输入开始/结束工作的时间.我想计算我的加班时间并在第三个字段中输出结果.但是,我希望输出为十进制,所以当我加班半小时后,结果将是0.5
例如:我的工作时间是8.5小时,我从7.30开始到16.00(下午4点)结束.
我的代码到目前为止:
var workTime = this.getField ("Work time").value;
var startTime = this.getField ("Start time").value;
var endTime = this.getField ("End time").value;
event.value = workTime - (endTime - startTime);
Run Code Online (Sandbox Code Playgroud) 如何使函数四舍五入到最接近的 15 分钟,而不是四舍五入?如果是 10:46 则四舍五入到 11:00
jsfiddle:https ://jsfiddle.net/31L9d08s/
代码:
var now = new Date();
var Minutes = now.getMinutes();
var quarterHours = Math.round(Minutes/15);
if (quarterHours == 4)
{
now.setHours(now.getHours()+1);
}
var rounded = (quarterHours*15)%60;
now.setMinutes(rounded);
now.setSeconds(0);
now.setMilliseconds(0);
console.log(now.getTime());
var currentdate = new Date(now.getTime());
var datetime = "Last Sync: " + currentdate.getDate() + "/"
+ (currentdate.getMonth()+1) + "/"
+ currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds();
console.log(datetime);
Run Code Online (Sandbox Code Playgroud) 我正在使用 moment.js 并想创建一个数组,其中包含从当前时间开始以 15 分钟为间隔的所有时间。例如:
当前时间是下午 1:35。下一次是下午 1:45,然后是 2:00、2:15、2:30、2:45 等,直到某个时间点。
我真的不知道如何做到这一点。有人能指出我正确的方向吗?