使用datetimepicker插件格式化日期

时间:2014-12-02 15:01:40

标签: javascript jquery jquery-ui jquery-ui-datepicker datetimepicker

我使用的是datetimepicker选项(http://trentrichardson.com/examples/timepicker/#basic_examples)。

$('#basic_example_3').datetimepicker({
    timeFormat: "hh:mm tt"
});

如果用户没有选择小时或分钟(即12/11/2014 12:00 am),我不希望显示时间,但只显示12/11/2014。我意识到我可以使用onClose,并使用JavaScript手动修剪时间,但我想问是否有更好的方法可以使用插件。

此外,我将把日期时间发送到服务器,并希望它以DATETIME格式(即2014-12-11 18:30:00)。我可以解析它在服务器端,然而,我在问是否有一个更好的方法来使用插件。

1 个答案:

答案 0 :(得分:0)

不是一个非常优雅的解决方案,但它的工作原理。理想情况下,moment()不会被使用,但会使用一些嵌入式datetimepicker方法。我试图这样做,但似乎无法访问小时和分钟。

$('#basic_example_3').datetimepicker({
    stepMinute: 5,
    timeFormat: "hh:mm tt",
    onClose: function(dateText, inst){
        var datetime = moment(dateText, 'MM/DD/YYYY hh:mm a').format('YYYY-MM-DD HH:mm:ss'); //  12/11/2014 12:00 am => 2014-12-11 18:30:00
        dateText = dateText.replace(/12:00 am$/, '');   //Get rid of minutes if midnight
        $(this).val(dateText);
        $.post('ajax.php',{datetime:datetime},function(json) {
            //display errors if necessary
            }
        );
}});