簡體   English   中英

如何比較兩個日期?

[英]How compare two dates?

我有兩個日期,例如from和date。 日期格式,例如2013年9月28日和2013年 9月1日 我想比較日期並顯示錯誤消息。 我已經使用了這段代碼,

     var from = $('#<%= txtFDateEdu.ClientID %>').val();
     var to = $('#<%= txtTDateEdu.ClientID %>').val();

     var dateTypeVar = $('#<%= txtFDateEdu.ClientID %>').datepicker('getDate');
     var dateTypeVarto = $('#<%= txtFDateEdu.ClientID %>').datepicker('getDate');
     $.datepicker.formatDate('dd-mm-yy', dateTypeVar);

     var datefrom = $.datepicker.formatDate('dd/mm/yyyy', dateTypeVar);
     var dateto = $.datepicker.formatDate('dd/mm/yyyy', dateTypeVarto);
         alert(datefrom);    

         if (datefrom > dateto) {
             alert("Success");
          }
         else {

         }

此代碼無法正常工作。 日期格式出現一些問題。 請任何人幫助我解決日期格式問題並正確比較日期。 我也使用此代碼。

var from = $('#<%= txtFDateEdu.ClientID %>').val();
                var to = $('#<%= txtTDateEdu.ClientID %>').val(;)

                alert(from);
                alert(to);
                var datefrom = new Date(from);
                var dateto = new Date(to);
                alert(datefrom);
                 alert(dateto);
                if (datefrom > dateto) {
                    alwer("Success");
                }
                else {

                }

但這也無法正常工作。

您要將給定的日期轉換為字符串,只需跳過此步驟:

 var datefrom = $('#<%= txtFDateEdu.ClientID %>').datepicker('getDate');
 var dateto = $('#<%= txtFDateEdu.ClientID %>').datepicker('getDate');

     if (datefrom > dateto) {
         alert("Success");
      }
     else {

     }

只需比較兩個Date對象, 然后再將它們轉換為字符串即可:

var dateTypeVar = $('#<%= txtFDateEdu.ClientID %>').datepicker('getDate');
var dateTypeVarto = $('#<%= txtFDateEdu.ClientID %>').datepicker('getDate');

if (dateTypeVar > dateTypeVarto) {
    ...
}

比較運算符將通過.valueOf()自動獲取兩個日期對象的值,這是自1970/01/01 00:00:00以來經過的毫秒數。

我也使用日期選擇器,通常我使用以下腳本。

   function compare_dates(valid_to, valid_from){
  var splited_to = valid_to.split("-")
  var to_date_monthfield=splited_to[1];
  var to_date_dayfield=splited_to[0];
  var to_date_yearfield=splited_to[2];
  var to_date = new Date(to_date_yearfield, to_date_monthfield-1, to_date_dayfield);

  var splited_from = valid_from.split("-");
  var from_date_monthfield=splited_from[1];
  var from_date_dayfield=splited_from[0];
  var from_date_yearfield=splited_from[2];
  var from_date = new Date(from_date_yearfield, from_date_monthfield-1, from_date_dayfield);

  var cur_date = new Date();
  if(!(from_date > cur_date.setDate(cur_date.getDate() - 1))){
    return false;
  }
  if(!(to_date > from_date)){
    return false;
  }
  return true;

}

這希望您的日期日期采用dd // mm / yyyy格式

在這里,我發現一些東西用光了。 您可以將其與我的代碼一起使用。

new Date(Date.parse(month_string +" 1, 2012")).getMonth()+1

您可以使用上述代碼替換monthfield 或者您也可以使用其他方式。

暫無
暫無

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

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