2014-02-11 3 views
1

Прошу прощения, если этот вопрос уже задан, но я не смог найти его для моей проблемы.Добавить будущее время и сравнить

Я видел это, но я не уверен, что число возвращается представляет: Date() * 1 * 10 * 1000

Я хотел бы установить будущий момент времени, а затем сравнить его с текущим экземпляром Date(), чтобы увидеть, который больше. Это может быть несколько секунд, несколько минут, несколько часов или несколько дней в будущем.

Вот код, у меня есть:

var futureMoment = new Date() * 1 *10 * 1000; 
console.log('futureMoment = ' + futureMoment); 

var currentMoment = new Date(); 
console.log('currentMoment = ' + currentMoment); 

if (currentMoment < futureMoment) { 
    console.log('currentMoment is less than futureMoment. item IS NOT expired yet'); 
} 
else { 
    console.log('currentMoment is MORE than futureMoment. item IS expired'); 
} 
+1

Больше комментарий, если вы можете добавить библиотеку JS для вашего проекта вы можете быть заинтересованы в http://www.datejs.com/он может помочь вам в этом или сравнить результаты с результатами. – Allende

+0

Спасибо, что я не знал об этом сайте! – Mdd

+0

Добро пожаловать :) – Allende

ответ

3

Дата Javascript основывается на количестве миллисекунд с момента возникновения Epoch (1 января 1970 года 00:00:00 UTC).

Поэтому для расчета будущей даты вы добавляете миллисекунды.

var d = new Date(); 
var msecSinceEpoch = d.getTime(); // date now 
var day = 24 * 60 * 60 * 1000; // 24hr * 60min * 60sec * 1000msec 
var futureDate = new Date(msecSinceEpoc + day); 

См https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

+0

Спасибо! Это то, что я искал. – Mdd

1
var futureMoment = new Date() * 1 *10 * 1000; 

становится

var now = new Date(); 
var futureMoment = new Date(now.getTime() + 1 *10 * 1000); 

Я думаю, что вы имеете в виду, чтобы добавить время. Не умножайте его.

+0

хмм, что дает мне следующую ошибку: Uncaught TypeError: Объект Пн 10 февраля 2014 19:49:31 GMT-0600 (CST) 10000 не имеет метод 'GetTime' Вот скрипку с ним: http://jsfiddle.net/Ax3F6/ – Mdd

+1

Это была строка перед вызовом типа. Я починил это. – jeremyjjbrown

0

Если вы имеете дело со временем, есть много инструментов, чтобы выбрать.
Пробег: moment library.

0

Используется следующий код для сравнения выбранного времени даты с текущей датой времени

var dt = "Thu Feb 04 2016 13:20:02 GMT+0530 (India Standard Time)"; //this date format will receive from input type "date".. 
function compareIsPastDate(dt) {  
    var currDtObj = new Date(); 
    var currentTime = currDtObj.getTime(); 

    var enterDtObj = new Date(dt); 
    var enteredTime = enterDtObj.getTime(); 

    return (currentTime > enteredTime); 
} 
Смежные вопросы