Maison > Article > développement back-end > Truncate() est-il vraiment le meilleur moyen d'obtenir le début de la journée locale ?
Obtenir le début de la journée locale
La question concerne la recherche du début de la journée en cours dans le fuseau horaire local, communément appelé "début de journée" (BOD). Le problème se pose lorsque l'on considère que les fuseaux horaires peuvent avoir des jours plus courts ou plus longs en raison des ajustements de l'heure d'été (DST).
Le code fourni dans la question, Bod(), calcule correctement le BOD en extrayant l'année, le mois. , et les composants du jour et la reconstruction d'un nouvel objet temporel. Cette méthode reflète avec précision l'heure locale sans nécessiter de manipulation spécialisée du fuseau horaire.
Cependant, la réponse acceptée, Truncate(), prétend être une meilleure solution mais présente plusieurs inconvénients. Premièrement, il ne fournit pas le BOD local car il tronque l'heure UTC, ce qui entraîne un décalage horaire par rapport à l'heure locale souhaitée.
Deuxièmement, Truncate() suppose une journée de 24 heures, ce qui n'est pas toujours précis. Dans les zones où l'heure d'été est passée, les jours peuvent être plus courts ou plus longs que 24 heures. Par conséquent, Bod() est une solution plus fiable et universellement applicable pour obtenir la DBO locale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!