【发布时间】: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