Javascript 为什么Date().getHours()有时返回布尔值True?
我正在使用谷歌应用程序脚本尝试在工作时间发送自动电子邮件。作为其中的一部分,我使用一些日期函数来获取当前的日期、小时、分钟等Javascript 为什么Date().getHours()有时返回布尔值True?,javascript,date,google-apps-script,Javascript,Date,Google Apps Script,我正在使用谷歌应用程序脚本尝试在工作时间发送自动电子邮件。作为其中的一部分,我使用一些日期函数来获取当前的日期、小时、分钟等 var nowH=new Date().getHours(); var nowD=new Date().getDay(); var nowM=new Date().getMinutes(); Logger.log('Day: ' + nowD + ', Hour: ' + nowH + ', Min: ' + nowM ) 当我运行这个时,它运行良好。例
var nowH=new Date().getHours();
var nowD=new Date().getDay();
var nowM=new Date().getMinutes();
Logger.log('Day: ' + nowD + ', Hour: ' + nowH + ', Min: ' + nowM )
当我运行这个时,它运行良好。例如,它当前返回:
[18-10-04 13:18:02:743 AEST] Day: 4, Hour: 13, Min: 18
所以它看起来工作得很好,但是当我使用if语句时,时间似乎不合适。我决定在HTML电子邮件中也打印其中一些:
+ '<br>Debug: Day: ' + nowD + ' Hour: ' + nowH + ' Min: ' + nowM
所以看起来“现在”小时数据突然变成了“真实”。在if声明或将此添加到电子邮件之前,我现在不参考任何其他时间
有什么明显的原因可以将其转换为布尔值吗?正如@Jaromanda X所建议的,似乎是单=符号改变了“nowH”的值 我通过添加相同3个字段的单独记录器来测试这一点 更改前:
如果(nowH=10&&nowM>25&&nowM<35&&nowD!=6&&nowD!=0)|(nowH>=10&&nowH 25&&nowM<35&&nowD!=6&&nowD!=0)|(nowH>=10&&nowhc你能提供一个或一些代码来尝试重现这种行为吗?不,它从来不会在if语句之前显示if语句…我怀疑你使用的是
=
而不是=
或=
某个有趣的地方-这里是if语句:if((nowH=10&&nowM>25&&nowM<35&&nowD!=6&&nowD!=0)| |(nowH>=10&&nowH10&&nowM>25&&nowM<35&&nowD!=6&&nowD!=0
可能是正确的…,如果((nowH==10&&code>会帮你解决问题的话
Debut: Day: 4 Hour: true Min: 18