簡體   English   中英

如何比較JavaScript中的2個變量以查看日期是否相同?

[英]How can I compare the 2 variables in JavaScript to see if the dates are the same?

我有2個變量。 如何比較JavaScript中的2個變量以查看日期是否相同? 我不想隨時間推移兩個日期。 我只想將它們轉換為yyyy / dd / mm格式。

var DateReported = "20/04/2011";
var StartDate = "16/04/2011";

如果StartDate <DateReported,我必須做一些事情;如果StartDate> DateReported,我必須做其他事情。

謝謝

如果您以相同的日期格式將日期存儲為字符串,則沒有理由不進行字符串比較以檢查它們是否相等:

var DateReported = "20/04/2011";
var StartDate = "16/04/2011";

return DateReported == StartDate;  // returns false;

更新 :如果您實際上需要比較日期以確定哪個是最新的,我建議您使用一個庫-例如jQuery UI模塊包含日期處理代碼,因此您可以輕松地解析日期字符串:

var dReported = $.datepicker.formatDate('d/mm/yy', DateReported);
var dStarted = $.datepicker.formatDate('d/mm/yy', StartDate);

if (dReported > dStarted) { ... }

由==運算符

if(DateReported == StartDate)
return true;

否則創建日期對象並將其轉換為毫秒,然后比較> / <

DateReported = new Date(2011,4,20);
StartDate= new Date(2011,4,16);

if (DateReported .getTime()<StartDate.getTime()) {
  alert('DateReported is less than StartDate');
}

如果您不想使用轉換日期,請嘗試以下操作(我假設月和日始終填充為0):

var DateReported = "20/04/2011"; 
var StartDate = "16/04/2011";
var regExp = /(\d{2})\/(\d{2})\/(\d{4})/;
if
(
    StartDate.replace(regExp, "$3$2$1") < DateReported.replace(regExp, "$3$2$1")
)
{
    alert("Lesser");
}
else
{
    alert("Greater");
}

工作示例: http : //jsfiddle.net/GE83j/

嘗試這個:

var DateReported = "20/04/2011";
var StartDate = "16/04/2011";
DateReported = new Date(DateReported).format("yyyy/dd/MM");
StartDate = new Date(StartDate).format("yyyy/dd/MM");
if (DateReported > StartDate) {
     alert("Date Reported Greater");
}
else {
     alert("Start Date Greater");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM