gpt4 book ai didi

javascript - 为什么带有 <=、>= 的公式可以工作,但简单的 == 却不行

转载 作者:行者123 更新时间:2023-11-28 03:35:41 25 4
gpt4 key购买 nike

我有一个 Google 工作表,其中的行包含一些要放在 gCal 上的日期值和其他信息。

日期
2019年9月4日
2019年9月6日
2019 年 9 月 5 日

我正在尝试运行一个循环,该循环仅提取等于 futureDate 的日期(即今天加三天,当前为 09/05/2019)

如果我使用 <= 或 => 它工作正常。提取正确的日期并将其放在我的日历上。我无法让 futureDate 等于工作。我花了几个小时认为这与日期格式有关,但 <= 也不应该起作用。我在这里缺少什么??

var today = new Date();
var futureDate = new Date();
futureDate.setDate(today.getDate()+3);

for(var i = 0; i<data.length; i++){

if(data[i][11] == futureDate) {
cal.createEvent(data[i][0], data[i][1], data[i][2], {location: data[i][3], description: data[i][10]}).setColor(data[i][5]);

//This one works and returns all dates that are not equal to futureDate
if(data[i][11] <= futureDate) {
cal.createEvent(data[i][0], data[i][1], data[i][2], {location: data[i][3], description: data[i][10]}).setColor(data[i][5]);

我目前只需要 09/05/2019 返回,因为今天是 09/02/2019。 (今天 + 3 天)

最佳答案

这可能是因为 new Date() 中的小时和分钟。

我不知道data[i][11]中日期的格式。但我在工作表上设置了 A1 =today()+3

我将该值与脚本中的 futuredate 进行了比较:

var today = new Date();
var futureDate = new Date();
futureDate.setDate(today.getDate()+3);

日志显示:

脚本值:2019 年 9 月 5 日星期四 17:03:10 GMT+00:00

工作表值:2019 年 9 月 5 日星期四 00:00:00 GMT+00:00

<小时/>

编辑

修复:

  var today = new Date();
var futureDate = new Date();
futureDate.setDate(today.getDate()+3);
futureDate.setHours(0,0,0,0);

关于javascript - 为什么带有 <=、>= 的公式可以工作,但简单的 == 却不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57760347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com