Je me suis renseigné sur la meilleure approche pour gérer les heures localisées, lorsqu'une application Laravel est utilisée sur plusieurs fuseaux horaires.
D'après ce que j'ai compris, le fuseau horaire de l'application doit rester celui par défaut, à savoir UTC.
Cela signifie que toutes les dates/horodatages sont enregistrés dans la base de données (MySQL dans mon cas) comme leur valeur UTC - en d'autres termes, de manière cohérente.
Pour que les modèles Eloquent aient les valeurs correctes (localisées) de la date et de l'heure, le fuseau horaire de l'utilisateur doit être respecté. C'est à ce stade que je suis moins clair sur la façon de procéder - plus précisément, en termes de :
- Comment obtenir au mieux le fuseau horaire de l'utilisateur
- Comment ce fuseau horaire peut être utilisé dans un transparent avec Eloquent, de façon à ce que
- Toutes les dates du modèle sont indiquées en heure locale
- Toutes les dates sont enregistrées correctement dans la base de données (en UTC).
Modifier Je dois préciser que mon application prend en charge les utilisateurs anonymes et authentifiés, et que je ne veux pas obliger l'utilisateur à sélectionner explicitement son fuseau horaire.