3 回答
TA贡献1794条经验 获得超8个赞
const endDate = snapData.val().startDate + snapData.val().duration*24*60*60*1000;
足以以毫秒为单位获取所需的日期(如果startDate
以毫秒为单位)
否则如果startDate
是日期字符串,
const endDate = (new Date(snapData.val().startDate)).getTime() + snapData.val().duration*24*60*60*1000;
假设您需要endDate
以毫秒为单位。
TA贡献1853条经验 获得超18个赞
最后我得到了解决方案
exports.terminateStoreAd = functions.https.onRequest(async(req, res) => {
try {
const snapshot =await admin.database().ref("StoreAds").once("value");
const promises = [];
if (snapshot.exists()) {
snapshot.forEach(childSnapshot => {
const endDate=childSnapshot.val().startDate + childSnapshot.val().duration * 86400;
const today=Math.round(new Date().getTime()/1000);
if (endDate <= today) {
promises.push(
admin.database().ref("StoreAdsHistory").child(childSnapshot.key).set(childSnapshot.val()),
childSnapshot.ref.remove(),
res.send()
);
}
});
}
await Promise.all(promises);
}catch (error) {
}
});
TA贡献1856条经验 获得超17个赞
给定开始日期 2019-05-01 然后 5 天后是使用参数化版本创建新日期的简单问题。
注意月份是零索引,所以五月,第 5 个月是索引 4。因为我想要 5 月 1 日之后的 5 天,所以我使用1+5作为日期:
const startDate = new Date(2019, 4, 1);
const endDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()+5);
console.log(`Start Date: ${startDate}, End Date: ${endDate}`);
console.log(`Start Date: ${startDate.valueOf()}, End Date: ${endDate.valueOf()}`);
添加回答
举报