我正在编写一个通知调度函数,希望限制向用户发送通知的频率,因此需要一些日期计算(例如,nowDate>lastSend+1天(。我在这里和这里的帖子中发现JS对Date数学的支持,但在尝试应用它们时遇到了错误。例如,以下尝试将100分钟添加到user.notificationTimestamp
let whenOkayToSend: Date = user.notificationTimestamp
whenOkayToSend = whenOkayToSend + 100*60*1000
给出错误
Operator '+' cannot be applied to types 'Date' and 'number'.
当我尝试getMinutes
和setMinutes
时,错误表明没有这样的函数。如何在云函数中向Date对象添加分钟数?
不能向Date
对象添加数字。如果你想将日期向前滚动,你可以将日期转换为时间戳,计算一下,然后将时间戳转换回日期:
let whenOkayToSend: Date = user.notificationTimestamp
whenOkayToSend = new Date(whenOkayToSend.getTime() + 100*60*1000)
请注意,这与云函数无关,并将在任何Node.js和常规JavaScript环境中应用相同的功能。因此,我建议您扩大搜索范围,例如:https://www.google.com/search?q=javascript+添加+到+日期