首页 > 解决方案 > jQuery UI datepicker() 忽略了“格式”属性

问题描述

我正在使用以下代码格式化日期:

$('#test-dp-component .input-group.date').datepicker({
                format:'yyyy/mm/dd',
            }).datepicker("setDate",'{{ $module->test }}');

因此,如果日期为 2021 年 9 月 1 日,则显示的格式为 2021/09/01。但是,如果我像这样更改格式:

$('#test-dp-component .input-group.date').datepicker({
                format:'mm/dd/yyyy',
            }).datepicker("setDate",'{{ $module->test }}');

然后它返回 05/09/1 而不是 09/01/2021。像 mm/yyyy 这样的其他格式似乎可以正常工作,那么为什么它会被 mm/dd/yyyy 格式吓到呢?有什么建议么?

标签: jqueryjquery-ui-datepicker

解决方案


首先,属性是dateFormat,不是format。请参阅Api.jQueryUi.com上的示例:

dateFormat

默认值:“月/日/年”

解析和显示日期的格式。有关可能格式的完整列表,请参阅 formatDate 函数。

其次,年份字段用 表示yy,而不是用(如您通常认为的那样),yyyy

所以,你会想尝试:

$('#test-dp-component .input-group.date').datepicker({
    dateFormat:'yy/mm/dd',
});

推荐阅读