[英]Why don't these two dates from jQuery UI's datepicker compare correctly in jQuery?
[英]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.