【问题标题】:yii\jui\datepicker changes formats for days below 13yii\jui\datepicker 更改 13 天以下的格式
【发布时间】:2018-06-21 07:44:24
【问题描述】:

我认为我正在使用 yii\jui\Datepicker。当我选择一个日期时,日期字符串输出是正确的。当我点击表单提交时,查看页面中的日期也是完美的。

当您将日期从表单输入到数据库并返回时,我的行为会将格式从 Y-m-d 交替到 d/m/Y 并返回。所有这些似乎都运行良好。

我面临的问题是,当尝试编辑表单时,Datepicker 以 m/d/Y 之类的格式显示日期,而当下拉菜单出现时,它实际上是 d/m/ Y 但日期不正确。

例如,正确的日期是 12/02/2017,并且该日期在数据库和视图中是正确的(在它们各自的格式中),但是在编辑表单时,它显示为 02/12/2017 和下拉菜单已选择 12 月 2 日。 05/01/17 在日期选择器中也显示为 5 月 1 日,但在视图和数据库中正确显示为 1 月 5 日。

更奇怪的是,这只发生在 13 日以下的几天。如果设置为 2017 年 1 月 13 日,则始终显示为 1 月 13 日。 我对 dateFormat 和 dateTimeFormat 的格式化设置是“php:d/m/Y”和“php:d/m/Y H:i:s”。我的 Datepicker 选项中没有“dateFormat”选项,即使设置为上述格式,它也没有改变。此外,表单上的模型属性的回显以正确的格式显示日期。这可能是非常简单的事情,但我不知道这里出了什么问题。

视图中的DatePicker配置:

<?= $form->field($model, 'complete_by')->widget(\yii\jui\DatePicker::classname(), ['dateFormat' => 'php:d/m/Y'] ); ?>

格式化程序设置:

    'formatter' => [
        ...
        'dateFormat' =>  'php:d/m/Y', 
        'datetimeFormat' => 'php:d/m/Y H:i:s',
        ...

    ],

【问题讨论】:

  • 我顺便搜索了一下,但是我发现的唯一一个类似问题的问题,没有解决我的问题的答案。我试过了。
  • 应用的任何实时链接
  • 抱歉,暂时没有。这一切都在我的本地主机上。

标签: php jquery yii datepicker yii2


【解决方案1】:

以防万一有人遇到同样的问题。我最终改用了 kartik\date\DatePicker。从字面上看,我只是替换了类名,这有效!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 2011-07-19
    • 2018-10-28
    • 1970-01-01
    相关资源
    最近更新 更多