我已經在mysql db中將日期字段appointment_date配置爲datetime
字段。yii2:顯示日期的格式
在我的模型Appointment.php設置規則是這樣的:
public function rules()
{
return [
[['appointment_date','weekdays'], 'safe'],
[['appointment_date'], 'date','format' => 'd-M-yyyy H:m'],
,並在組件web.php我已經設置
'formatter' => [
'defaultTimeZone' => 'UTC',
'timeZone' => 'Asia/Kolkata',
在我看來,我試圖格式化日期顯示是這樣的:
[
Yii::$app->formatter->asDatetime('appointment_date')
],
現在我得到的錯誤 -
appointment_date' is not a valid date time value: DateTime::__construct(): Failed to parse time string (appointment_date) at position 0 (a): The timezone could not be found in the database
Array
(
[warning_count] => 1
[warnings] => Array
(
[6] => Double timezone specification
)
[error_count] => 3
[errors] => Array
(
[0] => The timezone could not be found in the database
[11] => Unexpected character
[12] => Double timezone specification
)
而存儲在數據庫中的日期是這樣的:2015年1月20日11:50:00
如果我不格式化日期和簡單地保持在屬性視圖 appointment_date
然後將日期如圖2015-01-20 11:50:00
我想說明如果我使用這樣的代碼日期爲20-01-2015 11:50:00
:
[
'attribute'=>'appointment_date',
'format'=>['DateTime','php:d-m-Y H:i:s']
],
我得到的日期格式正確。
我想知道我做錯了在這裏使用
Yii::$app->formatter->asDatetime('appointment_date')
感謝
@ fl0r-你的建議也是正確的,但我需要使用像'attribute =>'appointment_date','value'=> Yii :: $ app-> formatter-> asDatetime($ model-> appointment_date ) – Pawan 2015-01-21 13:26:17