我正在使用谷歌工作表javascript脚本,我在他们自己的专栏中循环超过15分钟。我试图找到与当前小时/分钟匹配的列,以便我可以突出显示它,但无法让javascript时间检查工作。
时间和次要时间只是8:00或8:15的时间,所以当我将它们转换为日期时,我得到的结果如下:Sat Dec 30 1899 08:00:00 GMT-0600(CST)
getTime()是考虑日期部分还是仅考虑时间部分?如果我有一个日期字符串,如" 10/14/2017"我怎么能把2一起带到日期对象?
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);
}
}
答案 0 :(得分:3)
getTime()方法返回自1970年1月1日00:00:00 UTC以来经过的毫秒数。
此号码称为时间戳。例如1508001790301.此数字代表总毫秒数(因此它同时考虑日期部分和时间部分)
您可以转换字符串&#34; 10/14/2017&#34;通过将其作为Date构造函数参数传递并在新创建的日期对象上调用getTime方法来获取时间戳。
e.g。 var nextTime = new Date(&#39; 10/14/2017&#39;)。getTime();这将返回自1970年1月至2017年10月14日00:00:00之间已经过的毫秒数。
把所有东西放在一起:
1)获取当前时间戳
var now = new Date().getTime(); // 1508001790301
2)获取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
}