【问题标题】:jquery date picker set date format as 'MM-DD-YYYY' from a string containing datetimejquery 日期选择器从包含日期时间的字符串中将日期格式设置为“MM-DD-YYYY”
【发布时间】:2013-08-21 14:03:45
【问题描述】:

我正在尝试设置 jquery datepicker 日期格式,但它不起作用,我已经阅读了一些帖子并回答了但没有一个对我有用。以下是我正在使用的代码,请检查并告诉我哪里做错了。我从数据库中获取日期时间为2012-03-06 00:00:00 UTC

<script>
        $(document).ready(function() {
            $(".datepicker").datepicker({
                dateFormat:'MM-DD-YYYY'
            }).val();
        });
    </script>

我也试过了

<script>
        $(document).ready(function() {
            var dateTypeVar = $('.datepicker').datepicker('getDate');
            $.datepicker.formatDate('dd-mm-yy', dateTypeVar);
        });
    </script>

【问题讨论】:

  • " 我从数据库中获取的日期时间为 2012-03-06 00:00:00 UTC" 我不明白为什么这是相关的。

标签: jquery jquery-ui jquery-plugins


【解决方案1】:

2012-03-06 00:00:00 UTC 不是有效的 JavaScript 日期,因此 datepicker 无法接受分配的值。

Date 对象:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

setDate 方法:http://api.jqueryui.com/datepicker/#method-setDate

获取符合格式的日期,然后以这种方式设置datepicker

代码:

$(document).ready(function () {
    var dbDate = "2012-03-06";
    var date2 = new Date(dbDate);

    $(".datepicker").datepicker({
        dateFormat: 'mm-dd-yy'
    }).datepicker('setDate', date2)

});

演示:http://jsfiddle.net/IrvinDominin/7ck7D/

【讨论】:

  • 但是。为什么日期是下面的一天?第五而不是第六?
【解决方案2】:
$(document).ready(function () {

    var date2 = new Date().getDate()-9;

    $(".datepicker").datepicker({
        dateFormat: 'dd-mm-yy'
    }).datepicker('setDate', date2)

});

http://jsfiddle.net/IrvinDominin/7ck7D/

【讨论】:

  • 请描述您为什么使用-9
  • 这是一个很好的答案,代码方面。可以通过解释您所做的事情和/或解释为什么 OP 所做的事情不起作用来改进它。
  • 另外,你的答案与你的 jsfiddle 不匹配
猜你喜欢
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
  • 2017-07-20
  • 2021-03-19
  • 2017-03-08
  • 1970-01-01
  • 2011-11-21
  • 1970-01-01
相关资源
最近更新 更多