我的存储日期为dd-mm-yy(21-05-2010),我的系统日期为
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();.
所以我必须比较这两个值,并且必须找出哪一个更大。我需要在Javascript函数中进行比较.so是他们的任何函数,它们会对这两个值进行比较。
答案 0 :(得分:3)
JavaScript Date
对象可以直接用于关系,例如<
,>
,<=
,==
等,还有某些数学操作(例如-
)。在幕后发生的事情是Date
对象的基础原始“时间”值,即自Epoch(与getTime
函数相同的值)以来的毫秒数,在表达式中使用。
所以:
var d1 = new Date(2010, 0, 1); // January 1st, 2010
var d2 = new Date(2010, 1, 1); // February 1st, 2010
display(d1 < d2); // alerts "true"
display(d1 > d2); // alerts "false"
display(d2 - d1); // alerts "2678400000", the difference in milliseconds
以上几行在功能上与:
相同var d1 = new Date(2010, 0, 1); // January 1st, 2010
var d2 = new Date(2010, 1, 1); // February 1st, 2010
display(d1.getTime() < d2.getTime()); // alerts "true"
display(d1.getTime() > d2.getTime()); // alerts "false"
display(d2.getTime() - d1.getTime()); // alerts "2678400000", the difference in milliseconds
此信息位于the spec,但您必须交叉引用部分才能找到它。我们从11.8.5(“抽象关系比较算法”)开始,它告诉我们将使用[[ToPrimitive]]操作和“提示”Number
来比较值。转到9.1节(“ToPrimitive”),它告诉我们对于Objects,[[ToPrimitive]]只是传递给[[DefaultValue]],传递提示。转到8.12.8(“DefaultValue(提示)”)并告诉我们提示是否为Number
且对象是否为valueOf
,它将使用{ {1}}。因此,请查看valueOf
的{{1}}(15.9.5.8),它会返回“此时间值”,这是规范自The Epoch以来毫秒数的说法(阅读介绍Date
对象[15.9.1,15.9.1.1]来验证)。方便的是,下一节(15.9.5.9)是valueOf
,它说同样的事情。
呼!
(不,我没有做所有这些只是为了回答这个问题;我已经做了一年左右的时间,当我意识到我不知道我做了什么时发生了什么事,我很好奇。)
答案 1 :(得分:1)
date11 = "2018-10-12";
date22 = "2018-12-02";
date1 = new Date(date11);
date2 = new Date(date22);
if(date1>date2){
alert("date1>date2");
}
if(date1<date2){
alert("date1<date2");
}
if(date2==date1){
alert("date2==date1");
}
答案 2 :(得分:0)
var myDate=new Date();
myDate.setFullYear(2010,0,14);
var today = new Date();
if (myDate>today)
{
alert("Today is before 14th January 2010");
}
else
{
alert("Today is after 14th January 2010");
}
如此处所见
答案 3 :(得分:0)
如果您将日期作为比较日期的整数值,这很简单,这可以使用“getTime()”方法完成。此方法返回从1970年1月1日到您给出的日期的毫秒数。请考虑以下
var fromDate = new Date();//current date
var fromDateTime = fromDate.getTime();
var toDate = new Date();
toDate .setFullYear(2099,0,14);//changing for comparision
var toDateTime = toDate.getTime();
//MAIN LOGIC
if(fromDateTime> toDateTime){
alert('from time cannot be greater than to date');
return false;
}