dans mon affichage de la Grille, j'ai changer la colonne de date et d'heure pour utiliser mon fuseau horaire
[
'format' => [
'class' => 'yii\i18n\Formatter',
'timeZone' => 'Asia/Singapore',
],
'attribute' => 'created_at',
'label' => 'Date',
'filter' => false,
'value'=> function($model, $key, $index, $column){ return Search::getDateTime($model); }, }
'format' => 'raw',
]
puis, dans ma recherche j'ai ce modèle
public static function getDateTime($model) {
$date = Yii::$app->formatter->asDate($model->created_at);
$time = Yii::$app->formatter->asTime($model->created_at);
return Html::a($date, null, ['href' => 'javascript:void(0);', 'class' => 'btn btn-link p-0 rounded-0 tooltips', 'data-toggle' => 'tooltip', 'data-placement'=> 'bottom', 'title' => $time]);
}
j'ai aussi dans mon main.php composants
'formatter' => [
'class' => 'yii\i18n\Formatter',
'dateFormat' => 'php:j M Y',
'datetimeFormat' => 'php:d/m/Y h:i a',
'timeFormat' => 'php:H:i A',
'defaultTimeZone' => 'Asia/Singapore'
],
dans ma base de données les created_at
est enregistré comme ceci 2021-11-22 11:28:16
UTC
comment puis-je obtenir pour afficher l'heure correcte basée sur mon fuseau horaire? (Asie/Singapour)
asDate()
etasTime()
? parce que tous mes datetimes sont enregistrés en tant que base de la date et de l'heure.