【问题标题】:Jquery datepicker returns NAN as timestampJquery datepicker 返回 NAN 作为时间戳
【发布时间】:2014-02-25 13:10:40
【问题描述】:

我正在使用 jquery datepicker 选择日期并转换为时间戳(纪元时间)。该脚本任意工作。它显示任何所选月份的 1 日至 12 日的日期的时间戳,但时间为那些日子的上午 12:00(我在线转换它)。但从 13 日到月底,它显示 NAN 作为时间戳。当所有日期格式为 dd/mm/yy 的日期正确显示时,这已经够奇怪了。

$(function() {
    $("#datepicker").datepicker({dateFormat: 'dd-mm-yy',
        onSelect: function(dateText, inst) {
              var dtV = $(this).val();
              var d = new Date(dtV);
              var s = parseInt((d)/1000);
              $("#selectedDate").text("on " + dateText + "");
              $(".selectedDate2").text(s.valueOf());
        }
    });
});

【问题讨论】:

标签: javascript jquery date datepicker


【解决方案1】:

我遇到了类似的问题:通常日期选择器工作正常,对于 12 日之后的日期也是如此;但有时我在 Google Analytics(分析)中看到用户得到 NaN-NaN-NaN

查了一下,发现可能是due to Google Translate

我在分析中检查了收到错误的用户的语言。几乎所有这些语言都有我的网站不支持的语言。这足以假设是谷歌翻译导致了错误。

要解决它,如here 所述,添加notranslate 类:

$(function() {
    $(".datepicker").datepicker();
    $('.ui-datepicker').addClass('notranslate');
});

【讨论】:

    【解决方案2】:

    当您致电new Date()时,您必须传递一个有效日期。 dd-mm-yy 不是 Date 的有效日期,它每天都在改变你的月份。

    如果您无法更改日期格式,请尝试以下操作:

    onSelect: function(dateText, inst) {
        var dtV = $(this).val();
        var exploded=dtV.split("-");
        var d = new Date(exploded[2],exploded[1],exploded[0]);
    

    编辑:更好更短,使用 datepicker 的 getDate 获取 Date 对象:

    onSelect: function(dateText, inst) {
        var d = $(this).datepicker("getDate");
    

    http://jsfiddle.net/9WMvk/

    【讨论】:

      【解决方案3】:

      它将您的格式解释为mm-dd-yy; JavaScript 的原生 Date 类假定所有格式为 \d\d[-/]\d\d[-/]\d\d 的字符串输入为 mm-dd-yy

      yyyy-mm-dd 格式 ISO 8601 更常见,应该正确解释。

      【讨论】:

        【解决方案4】:

        以下对我有用。刚刚添加了一个 ui-datepicker 类:

        $(function () {
                $("#txtStartDate").datepicker();
                $('.ui-datepicker').addClass('notranslate');
            });
        

        【讨论】:

          猜你喜欢
          • 2011-11-06
          • 2019-06-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-07
          • 1970-01-01
          相关资源
          最近更新 更多