【问题标题】:how to use if / else如何使用 if / else
【发布时间】:2015-07-03 21:28:58
【问题描述】:

我是谷歌脚本初学者,我需要一些帮助! 我有一个在文件中导入数据的脚本,我想在日期上添加一个条件。

我的脚本如下:

obj.participants[i].create_date.replace(/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})/, function(p, year, mon, day, hour, min) {
                data[index][3] = [day, mon, year - 2000].join("/");
                data[index][4] = [hour, min].join("h");
            });
billet = obj.participants[i].id_weez_ticket;
data[index][31] = 15+billet.substring(0,4);

我想根据 data[index][4] 中的日期值更改最后一行:

  • 如果 data[index][4]
  • 其他数据[索引][31] = 16+billet.substring(0,4);

感谢您的帮助!

【问题讨论】:

  • 弗兰克,这个问题正在接受“近距离投票”,因为不清楚你在问什么。由于您的答案似乎可以帮助您理解某些内容,因此我建议您花几分钟时间来澄清问题(尤其是标题),以使其成为未来读者在遇到类似问题时可能会发现和学习的东西。跨度>
  • 我在问如何将日期与 if / else 语句中的参考日期进行比较

标签: javascript if-statement google-apps-script google-sheets


【解决方案1】:

应该是这样的,但这不会起作用,因为 data[index][4] 将是一个时间形式为 '[hh]h[mm]'。

if (data[index][4] < 1/09/2015) {

    data[index][31] = 15+billet.substring(0,4);

} else { 

   data[index][31] = 16+billet.substring(0,4);
}

data[index][3] 包含日期,然后您必须将它们转换为时间对象,然后转换为毫秒才能进行比较。

var referenceDateMs = new Date(2015, 9, 1).getTime()
var dateMs = (new Date(year, mon, day))..getTime()

if (dateMs < referenceDateMs) {

    // ....

} else {

    // ....
}

【讨论】:

  • 事实上它不起作用......因为我得到一个 ReferenceError: "year" is not defined。 “星期一”和“一天”也是如此。我不明白为什么。弗兰克
  • 这将是您更广泛的代码中的一个问题。如果您与我分享脚本(gmail dot com 上的 andrewr1969),我可以看看。
  • 安德鲁谢谢你,它现在运行良好。使用日期进行故障排除非常常见,尽管问题不是很清楚,但您理解问题所在!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-25
  • 2022-11-18
  • 2012-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
相关资源
最近更新 更多