在JavaScript中比较两个日期
我目前正在尝试将发布日期与今天的日期进行比较。比如说,如果发布日期是从今天开始的3年内,那么它应该会执行一些操作,但我只给出了部分代码:在JavaScript中比较两个日期,javascript,date,Javascript,Date,我目前正在尝试将发布日期与今天的日期进行比较。比如说,如果发布日期是从今天开始的3年内,那么它应该会执行一些操作,但我只给出了部分代码: var today = new Date(); var launch_date = 2011/10/17 00:00:00 UTC; //if today's date minus launch_date is within 3 years, then do something. 有导游吗?提前谢谢。试试看- var today = new Date();
var today = new Date();
var launch_date = 2011/10/17 00:00:00 UTC;
//if today's date minus launch_date is within 3 years, then do something.
有导游吗?提前谢谢。试试看-
var today = new Date();
var launch_date = new Date("2011/10/17 00:00:00 UTC");
var diff = today.getYear() - launch_date.getYear();
if(diff <=3 )
alert("yes");
else
alert("no");
明确检查三年范围 var ld=新日期'2011/10/17 00:00:00 UTC' iftoday.getFullYear-ld.getFullYear<3{ //做点什么 } 这将在无效的日期字符串和其他一些边缘情况下失败。
如果你要做大量的日期计算,我强烈推荐Moment:你可以用天来计算时间跨度并使用它
var getDays = function(startDate, endDate){
var ONE_DAY = 1000 * 60 * 60 * 24;
var difference = endDate.getTime() - startDate.getTime();
return Math.round(difference / ONE_DAY);
}
请参阅此JSFIDLE:您可以创建一个日期对象并调用getTime方法返回自1970-01-01以来的毫秒数。使用以下行之一:
var yourDate = new Date(dateString) // format yyyy-mm-dd hh:mm:ss
var yourDate = new Date(year, month, day, hours, minutes, seconds, milliseconds)
在if语句中使用此条件后:
var edgeDate = // new Date(dateString);
if ( (today.getTime () - yourDate.getTime ()) >= edgeDate.getTime() ){
// do something
}
问候,,
凯文已经回答了吗?但我想做的是,如果发布日期是从今天起的3年内,那么执行一些操作。我被困在如何确定发布日期是否在从今天起的3年之内的问题上,这是一个干净而简单的问题。谢谢!