我使用的是google sheets javascript脚本,在其中我循环了15分钟的时间间隔,每一次都在各自的列中。我正在尝试找到与当前小时/分钟匹配的列,这样我就可以突出显示它,但无法让javascript时间检查工作。
time和nextTime只是像8:00或8:15这样的时间,所以当我将它们转换为Date时,我得到的结果如下: Sat Dec 30 1899 08:00:00 GMT-0600 (CST)
getTime()是考虑日期部分还是只考虑时间部分?如果我有一个像"10/14/2017“这样的日期字符串,我如何才能将两个字符串组合在一起作为date对象?
var now = new Date().getTime();
for(i in data[0]){
var time = new Date(data[0][i]);
var nextTime = new Date(data[0][Number(i) + 1]);
var diff1 = time.getTime() - now;
var diff2 = nextTime.getTime() - now;
if(now >= time.getTime() && now < nextTime.getTime()){
Logger.log(time);
}
}发布于 2017-10-15 01:55:49
getTime()方法返回自1970年1月1日00:00:00UTC以来经过的毫秒数。
这个数字被称为时间戳。例如1508001790301。这个数字表示总的毫秒数(因此它同时考虑日期部分和时间部分)
您可以将字符串"10/14/2017“转换为时间戳,方法是将其作为Date构造函数参数传递并对新创建的date对象调用getTime方法。
例如,.getTime nextTime = new Date(‘10/ 14 / 2017’) var ();这将返回从1970年1月到2017年10月14日00:00:00所经过的毫秒数。
要将所有内容整合在一起,请执行以下操作:
1)获取当前时间戳
var now = new Date().getTime(); // 15080017903012)获取time和nextTime的时间戳
var time = new Date('10/14/2017').getTime();
var nextTime = new Date('10/15/2017').getTime();3)只需像在示例中那样比较这些值
if(time <= now && now <= nextTime) {
// Highlight the column
}https://stackoverflow.com/questions/46746677
复制相似问题