簡體   English   中英

無法使用jQuery UI的datepicker比較日期

[英]Can't Compare dates using jQuery UI's datepicker

好的,所以我試圖測試一個日期是否比今天更早。 我正在使用jQuery UI的Datepicker來解析日期並將其分配給變量:

//Get Date as String
var $strDate = $(".pmt-date").text();
//Parse Date
var $dtDate = $.datepicker.parseDate("mm/dd/yy", $strDate);

然后我得到今天的日期並將其分配給變量:

//Get Today's Date
var $strToday $.datepicker.formatDate('mm/dd/yy', new Date());
var $tDate = $.datepicker.parseDate('mm/dd/yy', $strToday);

現在我想將$ dtDate與$ tDate進行比較。 這是我嘗試過的:

if($dtDate > $tDate)
{
     alert("Payment Date is Greater");
}
else
{
     alert("Today's Date is Greater");
}

當我測試這個時,我總是得到警告“今天的日期更大”。 我可以通過警報顯示我的兩個日期變量,我看到日期格式正確。 那么為什么在解析工作正常時這種比較失敗呢?

假設類“pmt-date”的字段是datepicker控制的<input>元素,則需要使用.val()而不是.text()來獲取其值。

var $strDate = $(".pmt-date").val();

您的下一行代碼引用了一個名為“$ date”的變量,而不是“$ strDate”,因此:

var $dtDate = $.datepicker.parseDate("mm/dd/yy", $strDate);

一旦你有了,你可以直接比較Date對象:

if ($dtDate < new Date())

無需將新構造的Date對象轉換為字符串,然后返回日期。 我猜你是日期字符串並返回以剝離日期的時間部分,所以這並不是一個糟糕的方法。

在日期比較中,超過表示日期之后的日期,而不是表示日期之前的日期。 比意味着日期到來之前更早,因此你想要使用少於

if($dtDate < $tDate)

暫無
暫無

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

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