【问题标题】:jQuery UI datepicker() is ignoring the `format` attributejQuery UI datepicker() 忽略了“格式”属性
【发布时间】:2021-09-27 19:48:50
【问题描述】:

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

$('#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 格式感到害怕呢?有什么建议吗?

【问题讨论】:

  • {{ $module->test }} 解析为什么?
  • 这能回答你的问题吗? jQuery UI DatePicker - Change Date Format
  • 2021-09-01 是存储在数据库中的内容,但显示为 05/09/1
  • kmoser - 不,不幸的是我已经尝试过了。它返回相同的 05/09/1
  • 好的,所以我在 Laravel 工作,所以我决定使用 Carbon 来格式化视图中的日期。我放弃了 javascript,哈哈

标签: jquery jquery-ui-datepicker


【解决方案1】:

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

dateFormat

默认值:“mm/dd/yy”

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

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

所以,你会想试试:

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

【讨论】:

    猜你喜欢
    • 2013-10-24
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多