【问题标题】:bootstrap datepicker format引导日期选择器格式
【发布时间】:2014-09-29 12:30:30
【问题描述】:

问题已解决:

jsFiddle:http://jsfiddle.net/s4d0fxd2/1/

如上图所示,我试图提醒从引导日期选择器中选择的日期,但我无法让它显示我想要的格式(格式:YYYY-mm-dd)

HTML:

<div class="datepicker" id="datepicker1" ></div>

JS:

$('.datepicker').datepicker({ format: 'yyyy-mm-dd', multidate: true, multidateSeparator: ",", calendarWeeks: true, todayHighlight: true }).on('changeDate', function(e){ alert($('#datepicker1').datepicker('getDates')); });

虽然我在使用 <input> 时获得了正确的格式,并在输入焦点而不是 inline 日历时显示日历,但这不是一个选项。

bootstrap-datepicker 的文档:http://bootstrap-datepicker.readthedocs.org/en/release/

jsFiddle:http://jsfiddle.net/s4d0fxd2/

【问题讨论】:

  • 表示您希望 datepicker 与 DIV 一起正常工作,而不是 INPUT TYPE TEXT OK ?
  • 你不能为你的问题提供 jsFiddle 吗?
  • 是的,Fiddle 快来了。
  • 表示您希望 datepicker 与 DIV 一起正常工作,而不是 INPUT TYPE TEXT OK ?

标签: jquery twitter-bootstrap twitter-bootstrap-3 bootstrap-datepicker


【解决方案1】:

根据文档 getDates 应该返回代表内部日期对象的本地化日期对象列表。没有直接的方法可以让您以您想要的方式直接格式化日期。您可以做的是,当 getDates 方法返回的选定日期数组时,使用一些自定义函数对其进行格式化和显示。

$(document).ready(function() {

    $('.datepicker').datepicker({
    format: 'yyyy-mm-dd',
    multidate: true,
    multidateSeparator: ",",
    calendarWeeks: true,
    todayHighlight: true

    }).on('changeDate', function(e){
    var selecteddates = $('.datepicker').datepicker('getDates');
        var formatedSelectedDates = [];
        for(var date in selecteddates)
        {
          formatedSelectedDates.push(convertDate(selecteddates[date]));
        }
        alert(formatedSelectedDates);
      });           
    });

还有一个 formatter function 根据您的需要:

 function convertDate(d) {
          function pad(s) { return (s < 10) ? '0' + s : s; }
          return [ d.getFullYear(),pad(d.getMonth()+1),pad(d.getDate())].join('-');
        }

Demo

【讨论】:

  • 感谢您的帮助! :) 非常有教育意义,我很感激!
猜你喜欢
  • 2013-11-28
  • 1970-01-01
  • 1970-01-01
  • 2013-12-18
  • 1970-01-01
  • 2014-07-06
  • 2017-03-24
  • 1970-01-01
  • 2023-04-09
相关资源
最近更新 更多