如何在 jQuery datetimepicker 中格式化日期?

Posted

技术标签:

【中文标题】如何在 jQuery datetimepicker 中格式化日期?【英文标题】:How do I format date in jQuery datetimepicker? 【发布时间】:2011-06-15 16:32:57 【问题描述】:

我使用从 jQuery datepicker 扩展而来的 jQuery datetimepicker 不仅可以选择日期,还可以选择时间。

我想这样设置日期/时间格式:dd-mm-yyyy @ hh:mm

$('#timePicker').datetimepicker(
  dateFormat: 'dd:mm:yyyy',
  separator: ' @ ',
  minDate: new Date()
);

但这不起作用。我得到以下格式的日期/时间:

Thu Jan 27 2011 02:05:17 GMT+0100

是否有任何 javascript 函数来格式化此日期/时间?如果不是,我该如何使用插件来做到这一点?查看我的代码:FIDDLE

【问题讨论】:

为什么要使用 div(而不是输入元素)?另外:kelvinluck.com/assets/jquery/datePicker/v2/demo/… 可能有用。 我不想要输入......它不起作用......而且我使用 datetimepicker 而不仅仅是 datepicker 您希望“警报”值显示为“dd-mm-yyyy @ hh:mm”吗? 它只是为了测试而发出警报,稍后我想将它存储在db中 【参考方案1】:

Here you go.

$('#timePicker').datetimepicker(
   // dateFormat: 'dd-mm-yy',
   format:'DD/MM/YYYY HH:mm:ss',
    minDate: getFormattedDate(new Date())
);

function getFormattedDate(date) 
    var day = date.getDate();
    var month = date.getMonth() + 1;
    var year = date.getFullYear().toString().slice(2);
    return day + '-' + month + '-' + year;

您需要将格式正确的日期传递给 datepicker()。

【讨论】:

这个答案已经过时了:o(【参考方案2】:

这对我有用。由于它“扩展”了日期选择器,我们仍然可以使用 dateFormat:'dd/mm/yy'。

$(function() 
    $('.jqueryui-marker-datepicker').datetimepicker(
        showSecond: true,
        dateFormat: 'dd/mm/yy',
      timeFormat: 'hh:mm:ss',
      stepHour: 2,
      stepMinute: 10,
      stepSecond: 10

     );
);

【讨论】:

【参考方案3】:

例如,我以西班牙语格式获取日期/时间。

$('#timePicker').datetimepicker(
    defaultDate: new Date(),
    format:'DD/MM/YYYY HH:mm'
);

【讨论】:

【参考方案4】:

较新版本的 datetimepicker(我使用的是 2.3.7)使用 format:"Y/m/d" 而不是 dateFormat...

所以

jQuery('#timePicker').datetimepicker(
    format: 'd-m-y',
    value: new Date()
);

见http://xdsoft.net/jqplugins/datetimepicker/

【讨论】:

这里可以加时间吗?并以 YYYY 格式设置年份? 花了一些时间在我的应用程序中调试奇怪的行为,直到我发现格式不是标准的。这是什么日期格式?在某处有它的参考吗?【参考方案5】:

你可以使用:

$('#timePicker').datetimepicker(
        format:'d.m.Y H:i',
        minDate: ge_today_date(new Date())
);

 function ge_today_date(date) 
     var day = date.getDate();
     var month = date.getMonth() + 1;
     var year = date.getFullYear().toString().slice(2);
     return day + '-' + month + '-' + year;
 

【讨论】:

【参考方案6】:

这对我有用。

$(document).ready(function () 
    $("#datePicker").datetimepicker(
        format: 'DD/MM/YYYY HH:mm:ss',
        defaultDate: new Date(),
    );

这里是 CDN 链接

<!-- datetime picker -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/3.1.4/css/bootstrap-datetimepicker.min.css"/>

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/3.1.4/js/bootstrap-datetimepicker.min.js"></script>

【讨论】:

【参考方案7】:

您可以使用format 选项,如the documentation 中所述

$("#timePicker").datetimepicker(
  format: 'Y-m-d H:i'
);

【讨论】:

以上是关于如何在 jQuery datetimepicker 中格式化日期?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jQuery datetimepicker 中禁用选定的日期和时间

您如何使用 JS 或 jQuery 从引导 datetimepicker 中控制台记录日期 [重复]

jquery datetimepicker 配置参数

在jQuery datetimepicker中阻止日期

jquery.datetimepicker 没有显示分钟问题

mint ui datetimepicker 手机端jquery datetimepicker 总结应用