【发布时间】:2019-07-01 02:49:59
【问题描述】:
我正在创建一个在给定时间内执行一些计算的自定义函数。
当在单元格中输入时间时,例如4:00 PM,它会自动转换为日期,在这种情况下为12/30/1899 16:00:00,当调用函数getTheMinutes()时,它返回2而不是@ 987654326@.
function getTheMinutes(dateTime){
return dateTime.getMinutes();
}
如果函数用于最近的日期,例如5/1/2019 16:00:00,则该函数的行为会有所不同。
我希望用户能够在一个单元格中写入时间,然后在另一个单元格中使用自定义功能。请让我知道你的想法。
【问题讨论】:
-
请在您的问题中包含足够的代码以复制该问题。我不得不做出一些假设,但是使用您的代码I can't reproduce the problem。
-
您所在位置的时区偏移量可能与您的预期不同。许多地方在 1900 年之前甚至没有一个小时或半小时的偏移量。顺便说一句,“12/30/1899 16:00:00”的解析取决于实现,因此您可能会在不同的主机上得到不同的结果。
-
@Santi 这一切都发生在谷歌表格中,所以我在单元格
A1中输入4:00 PM,然后在单元格B1中输入=getTheMinutes(A1),我得到的结果是2。当然,获取分钟数并不是我想要做的全部,而只是其中的一部分,我知道我可以为此使用函数MINUTE()。感谢您的帮助 -
@Char 还要确保您的电子表格时区和脚本时区相同
-
如果您将日期转换为字符串,您将能够查看时区是否与您的数字混淆。
标签: date datetime google-apps-script google-sheets