【问题标题】:JQuery Datepicker returned Date object typeJQuery Datepicker 返回 Date 对象类型
【发布时间】:2010-09-14 08:13:06
【问题描述】:

Datepicker 返回的对象类型是什么? 假设我有以下内容:

$("#txtbox").datepicker({
   onClose: function(date){
          //something
       }
});

date 是什么?我有兴趣从另一个 Datepicker 读取日期对象以进行比较,例如:

   function(date){
       oDate = $("#oDP").datepicker("getDate");
       if(oDate == date)
          //do one
       else if(oDate > date)
          //do two
   }

但是,这种比较是行不通的。我猜 Date 对象有某种比较方法,但我不知道。我还尝试比较 oDate.toString() > date.toString() 等日期的字符串表示形式,但无济于事。

【问题讨论】:

    标签: jquery datepicker


    【解决方案1】:

    我刚刚从here 下载了源代码并注意到(例如第 600 行)作者正在使用 .getTime() 来比较日期,你尝试过吗?

    if (oDate.getTime() > date.getTime()) {
        ...
    }
    

    这也是切线,但你提到你尝试了 oDate.toString() 而我在examples 中注意到作者正在使用 .asString()

    【讨论】:

    • 嗨@Pat,您的链接现在是 404 页面。
    • 两年后网络发生了变化 :-) 我想我设法追踪了新链接并修复了它,感谢您的提醒...
    【解决方案2】:

    datePicker 返回一个Date 对象。

    您的日期比较方法有效 - 来自W3schools

    var myDate=new Date();
    myDate.setFullYear(2010,0,14);
    var today = new Date();
    
    if (myDate>today)
    {
        alert("Today is before 14th January 2010");
    }
    

    您是否从该行获得了 oDate 的值?

    oDate = $("#oDP").datepicker("getDate");
    

    您的比较方法似乎有效 - 所以我想知道 datePicker 是否成功地从 #oDP 中提取值?

    编辑 - oDate 确认包含有效日期。这可能是一个非常愚蠢的问题,但您是否确认date 包含有效日期?我想知道将其命名为与关键字Date (Javascript keywords and reserved words) 相同是否可能存在问题。也许尝试在您的函数中将其重命名为 tDate 或类似名称,以明确这不会导致您的问题。

    【讨论】:

    • 我的 $("#oDP") 正在返回一个日期。我有一个警报(oDate)要验证。
    【解决方案3】:

    使用它来比较日期,它有效: $("#datepickerfrom").datepicker("getDate")

    【讨论】:

      【解决方案4】:

      什么是日期?

      它是 $("#txtbox") 对象

      【讨论】:

      • JQuery 文档说 date 是附加到 txtbox 元素的 Datepicker 实例的 Date 对象值。我已经打印了日期的值 (alert(date)),它实际上是一个 Date 对象。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      相关资源
      最近更新 更多