yii \ jui \ datepicker更改13天以下的格式

时间:2018-01-11 21:37:45

标签: php jquery yii datepicker yii2

我在我的视图中使用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也在Datepicker中显示为5月1日,但在视图和数据库中正确显示为1月5日。

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

视图中的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',
        ...

    ],

1 个答案:

答案 0 :(得分:0)

以防万一有人面临同样的问题。我最终转而使用kartik \ date \ DatePicker。我确实,只是替换了类名,这有效!