Position actuelle: Accueil> Derniers articles> Quelle est la bonne façon de traiter avec Timezone_Open lorsqu'elle est utilisée avec StrtoTime? Regarder ici

Quelle est la bonne façon de traiter avec Timezone_Open lorsqu'elle est utilisée avec StrtoTime? Regarder ici

gitbox 2025-08-27
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Les parties suivantes n&#39;ont rien à voir avec le contenu de l&#39;article</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue à lire cet article!"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// L&#39;article commence</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>timezone_open Correspondre strtotime Lors de l&#39;utilisation,Quelle est la bonne façon de gérer les fuseaux horaires?Regarder ici</h1>"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>exister PHP Lors du traitement de la date et de l&#39;heure,<code>strtotime()
' ;; écho "

Cela créera un objet représentant le fuseau horaire de Shanghai.

"
; écho "

2. Le comportement par défaut de StrtoTime

"
; écho "

Lorsque vous utilisez StrtoTime () directement, il utilise le fuseau horaire par défaut, qui est généralement renvoyé par date_default_timezone_get () , ou déterminé dans le paramètre Date.TimeZone dans php.ini. Si votre chaîne de date n'a pas d'informations de fuseau horaire claires, strToTime () sera analysée par le fuseau horaire par défaut.

"
; écho "

3. Utilisez des temps de temps_pen pour gérer correctement le fuseau horaire

"
; écho "

Pour gérer correctement le fuseau horaire, vous pouvez d'abord créer un objet DateTime , spécifier le fuseau horaire, puis obtenir l'horodatage Unix via gettimestamp () . Par exemple:

"
; écho '
$ timestring = "2025-08-26 14:30:00";
$ tz = timezone_open ("Asie / Shanghai");
$ date = new DateTime ($ timestring, $ tz);
$ TimeStamp = $ date-> gettimestamp ();
ECHO $ ​​TIMESTACH;
'
;;
écho "

De cette façon, quel que soit le fuseau horaire par défaut de votre serveur, vous obtiendrez le bon horodatage Unix correspondant au temps de Shanghai.

"
; écho "

4. Une autre façon: utiliser date_default_timezone_set

"
; écho "

Si vous voulez juste que strToTime () analyse temporairement un certain fuseau horaire, vous pouvez également modifier le fuseau horaire par défaut d'abord:

"
; écho '
date_default_timezone_set ("Asia / Shanghai");
$ horodat = strToTime ("2025-08-26 14:30:00");
ECHO $ ​​TIMESTACH;
'
;;
écho "

Cette méthode est simple, mais elle affectera le fuseau horaire par défaut global, il est donc plus recommandé d'utiliser DateTime avec DateTimeZone dans de grands projets.

"
; écho "

Résumé

"
; écho "

1. StrtoTime () utilise le serveur ou le fuseau horaire par défaut global par défaut.

"
; écho "

2. Utilisez des temps à calendrier_open () ou DateTimeZone pour créer un objet de fuseau horaire, puis coopérez avec DateTime pour traiter avec précision la date et l'heure du fuseau horaire spécifié.

"
; écho "

3. Le changement temporaire du fuseau horaire par défaut peut également résoudre le problème, mais peut affecter l'environnement mondial.

"
; écho "

Avec ces méthodes, vous pouvez gérer correctement et en toute sécurité les dates et les temps de zone inter-temps en php.

"
; ?>