我现在正在构建Chrome扩展程序。
我想在每天23:59:59设置闹钟,所以我可以在一天结束时重置一些保存的设置。
我在下面编写了这段代码但是,我不习惯使用Date Object。 而且我担心这段代码是否正常运行并且不会搞砸所有内容。
特别是,我担心第二天再次设置闹钟的代码。
var day = now.getDate() + 1;
要获取第二天的日期,我只需将“now.getDate()”的返回值加1即可。 但是,我想知道“now.getDate()”的返回值是否是月末,因此,添加1最终会得到不存在的日期。
请查看我的代码并告诉我这是否正常。
提前谢谢!!
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth();
var day = now.getDate();
var timestamp = Number(new Date(year, month, day, 23, 59, 59, 0));
//set an alarm for today at 23:59:59.
chrome.alarms.create('resetSpentTime', {
when: timestamp
});
// when alarm fires, do the following.
chrome.alarms.onAlarm.addListener(function() {
//clear some saved settings at the end of day.
//After that, set an alarm again for tomorrow at 23:59:59.
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth();
var day = now.getDate() + 1;
var timestamp = Number(new Date(year, month, day, 23, 59, 59, 0));
//set an alarm for tomorrow at 23:59:59.
chrome.alarms.create('resetSpentTime', {
when: timestamp
});
})
答案 0 :(得分:3)
我建议对Javascript中的所有日期操作使用date.js Link for date.js file,您可以在其中轻松添加日期或解析日期。请参阅给定站点上的演示。
答案 1 :(得分:1)
你可以试试这个。第二天以及月末是自动处理。
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);