Javascript比较两个日期以获得差异
Javascript compare two dates to get a difference
我试图比较两个不同的日期,看看输入的日期是否在今天的7天后。我在谷歌上搜索了一下,得出了这个:
function val_date(input){
var date = new Date(input);
date = date.getTime() / 1000;
var timestamp = new Date().getTime() + (7 * 24 * 60 * 60 * 1000)
window.alert("Date: "+date + " = N_Date: "+timestamp);
if(timestamp > date || timestamp === date){
// The selected time is less than 7 days from now
return false;
}
else if(timestamp < date){
// The selected time is more than 7 days from now
return true;
}
else{
// -Exact- same timestamps.
return false;
}
}
我正在使用提醒,以便检查我的进度,以确保日期不同。警报的输出只是说:
日期:NaN=N_Date=132555772630(<-或类似的东西)。
我是不是做错了什么
不确定它是否有帮助,但我的日期格式是DD-MM-YYYY
如果您正在比较日期并且不想包括时间,您可以使用以下内容:
// dateString is format DD-MM-YYYY
function isMoreThan7DaysHence(dateString) {
// Turn string into a date object at 00:00:00
var t = dateString.split('-');
var d0 = new Date(t[2], --t[1], t[0]);
// Create a date for 7 days hence at 00:00:00
var d1 = new Date();
d1.setHours(0, 0, 0, 0);
d1.setDate(d1.getDate() + 7);
return d0 >= d1;
}
请注意,今天日期的小时数必须为零。
日期:NaN
因为您传递给日期创建的字符串不可能创建日期
尝试
小提琴演示
Date.prototype.addDays = function (days) {
this.setDate(this.getDate() + days);
return this;
};
function val_date(input) {
var inputDate = new Date(input);
var dateWeek = new Date().addDays(7);
console.log(inputDate, dateWeek);
if (inputDate < dateWeek) {
// The selected time is less than 7 days from now
return false;
} else {
// The selected time is more than 7 days from now
return true;
}
}
使用moment.js:
moment([2013, 2, 29]).fromNow();
这很常见,如果要操作日期,可能需要使用Javascript库。有一个优秀的名为moment.js的
使用这个你会做一些类似的事情:
moment().add('days', 7)
寻找未来的一周。
假设输入是一个有效的Javascript Date对象,您可以尝试:
function dateDifference(oldDate) {
var currentDate = new Date();
var difference = currentDate - oldDate; //unit: milliseconds
var numDays = 7;
var threshHoldTime = numDays * (24 * 60 * 60 * 1000); //seven days in milliseconds
if (difference > threshHoldTime ) {
console.log("The difference is greateer then then 7 days");
}
else {
console.log("the date is not enough: " + difference);
}
}
像这样尝试
var date = new Date(input).getTime(); // Get the milliseconds
var today = new Date();
//You can't compare date,
//so convert them to milliseconds
today = new Date(today.setDate(today.getDate() + 7)).getTime();
if (inputDate < today) {
// The selected time is less than 7 days from now
return false;
} else if{ ()
// -Exact- same timestamps.
return false;
}
else {
// The selected time is more than 7 days from now
return true;
}
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- 两个日期时间选择器
- 如何在JavaScript中比较两个日期
- moment.js在两个时区格式的日期之间存在差异
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- Javascript两个日期选择器冲突
- 如何从日期范围选择器中获取两个日期
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 使用javascript将两个输入的日期添加在一起
- 再次使用JavaScript计算两个日期之间的天数
- Mongoose查询在两个日期时间之间提取数据
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- 如何将日期和时间拆分为两个元素
- 当前日期两个时间之间的时间