And*_*ndy 4 javascript date google-sheets google-apps-script
我正在创建一个新的电子表格,该电子表格将提前一周提醒我审核日期。我正在尝试做一个非常基本的测试,检查今天之后 7 天的日期是否等于电子表格上的日期。
调试此问题时,我注意到时间被添加到日期中,因此我将时间设置为 00:00:00 来尝试获得匹配,但这仍然不起作用。
function main(){
var d = new Date();
d.setDate(d.getDate()+7);
d.setHours(0,0,0,0);
for (var j = 53; j < lastrow-1; j++){
var Staff = StaffObjects[j];
var name = Staff.firstName + " " + Staff.surname;
var onemonth = Staff.oneMonth;
onemonth.setHours(0,0,0,0);
if (d == onemonth){
messagePT2+= name + "is due there one month review on " + onemonth + "<br>";
}
}
}
Run Code Online (Sandbox Code Playgroud)
调试时,这些值完全相同:
d = 2014 年 3 月 7 日星期五 00:00:00 GMT-0000 (GMT) 一个月 = 2014 年 3 月 7 日星期五 00:00:00 GMT-0000 (GMT)
然而,这并没有注册为匹配,这是为什么,我该如何解决这个问题?最后。有些日期有不同的时区,例如:Wed May 07 2014 00:00:00 GMT+0100 (BST) 有什么方法可以仅检查日期吗?
非常感谢,
比较日期对象是否相等并不像那样工作。最好将它们转换为数字(或字符串)进行比较。尝试这个:
if (d.getTime() == onemonth.getTime()){
//etc
}
Run Code Online (Sandbox Code Playgroud)
请注意,当与>和<和 变体进行比较时,它确实有效(因为它使用valueOf)。
| 归档时间: |
|
| 查看次数: |
1151 次 |
| 最近记录: |