2013-09-12 2 views
0

Теперь я создаю хром-расширение.Этот код работает нормально? Я хотел бы получить временную метку следующей даты:

Я бы хотел настроить будильник в 23:59:59 каждый день, поэтому я могу сбросить некоторые сохраненные настройки в конце дня.

Я написал этот код ниже, но я не использую объект Date. И я волнуюсь, если этот код работает нормально и не испортит все.

В частности, меня беспокоит код для настройки будильника снова на следующий день.

var day = now.getDate() + 1; 

Чтобы получить дату следующего дня, я просто добавьте 1 к возвращаемому значению «now.getDate()». Но, интересно, возвращается ли значение «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 
    }); 

}) 

ответ

3

Я предлагаю использование date.js Link for date.js file для всех операций даты в JavaScript, в котором вы можете добавить дни или разбором даты легко. См. Демонстрацию на данном сайте.

+0

Большое спасибо за хорошую информацию. Я не знал эту библиотеку. – crzyonez777

1

Вы можете попробовать это. Следующий день, а также конец месяца, автоматически обрабатываются.

var today = new Date(); 
var tomorrow = new Date(); 
tomorrow.setDate(today.getDate()+1); 

Источник: Add days to JavaScript Date

+0

Благодарим вас за родственный ценный источник! – crzyonez777

Смежные вопросы