【问题标题】:Bootstrap datepicker -- how to get date as a string in the right format?Bootstrap datepicker - 如何以正确的格式获取日期作为字符串?
【发布时间】:2013-08-14 06:52:11
【问题描述】:

我正在使用Bootstrap datepicker。答案可能很明显,但我不知道如何将选定的日期作为指定格式的字符串获取。我用过:

<div id="myDate" data-date-format="yyyy-mm-dd">
  <input type="text">
</div>

在我的 javascript 中:

var value = $("#myDate").datepicker("getDate");

但它返回的是日期,而不是 yyyy-mm-dd 格式的字符串。

【问题讨论】:

    标签: twitter-bootstrap datepicker bootstrap-datepicker


    【解决方案1】:

    data-date-format="mm/dd/yyyy" 需要在输入上设置:

    <input type="text" data-date-format="MM/DD/YYYY">
    

    你的 jQuery 也应该改为:

    var value = $("#myDate input").datepicker("getDate");
    

    或者你可以保持简单而不用包装div,这样你原来的jQuery就可以正常工作,你不必指定input

    <input type="text" id="myDate" data-date-format="YYYY-MM-DD">
    

    建议
    我建议创建一个类来格式化日期选择器。这样您就可以将.datepicker 类添加到任何输入字段中,并且无需指定其他变量即可工作。

    小提琴
    这是带有日期警报的工作代码http://jsfiddle.net/doitlikejustin/HFuDg/1/

    【讨论】:

    • 谢谢。我实际上省略了一些东西。包装 div 包括一个
    • 我明白了。将data-date-format 添加到输入是否解决了问题,还是仍然存在?
    • 仍在发生。 getDate 方法仍然返回一个对象。它现在是一个不同的对象,并且似乎是 DOM 的一部分。 (也许是输入?)
    • @ccleve 这是一个显示结果的链接jsfiddle.net/doitlikejustin/HFuDg/1我也更新了我的答案
    • 我想使用 var nbworkersdate = $('.nbworkersDate',r).datepicker("getDates") 在我的日期选择器中收集多个日期,我得到的是今天日期的列表而不是那些日期插入。为什么?
    【解决方案2】:
    var value = $("#myDate").datepicker("getFormattedDate");
    

    【讨论】:

    • 这是一种未记录的方法,并且效果很好。特别是当日期选择器被嵌入时(&lt;div&gt; 而不是&lt;input&gt;)。
    【解决方案3】:

    如果您希望将值作为字符串使用:var value = $("#myDate input").val();

    getDate方法返回一个对象

    【讨论】:

    • 1.9.0 版不返回对象
    【解决方案4】:

    你可以使用:

    $("#myDate").data('datepicker').getFormattedDate('yyyy-mm-dd');
    

    即使你设置了不同的格式来为这样的用户显示数据,你也会得到它的证明者格式

    <input id="myDate" type="text" data-date-format="MM/DD/YYYY">
    

    【讨论】:

      猜你喜欢
      • 2015-07-06
      • 1970-01-01
      • 2020-06-23
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      相关资源
      最近更新 更多