En PHP, les horodatages sont généralement représentés en quelques secondes depuis le 1er janvier 1970. Les développeurs doivent souvent convertir entre le temps et les horodatages dans différents formats. PHP fournit plusieurs fonctions de traitement de date et de temps puissantes, parmi lesquelles Date_timestamp_get et DateTime :: CreateFromFromForat sont des outils très couramment utilisés. Cet article présentera comment combiner ces deux fonctions pour implémenter la conversion d'horodatage.
La fonction date_timestamp_get peut obtenir l'horodatage Unix correspondant à partir d'un objet DateTime . Les horodatages UNIX sont quelques secondes depuis le 1er janvier 1970 et sont généralement utilisés pour enregistrer un point spécifique. Sa syntaxe de base est la suivante:
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">date_timestamp_get</span></span><span>(DateTime </span><span><span class="hljs-variable">$object</span></span><span>)
</span></span>La valeur de retour est un entier représentant un horodatage Unix.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>(</span><span><span class="hljs-string">"2025-09-12 12:00:00"</span></span><span>);
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_timestamp_get</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Horodatage: "</span></span><span> . </span><span><span class="hljs-variable">$timestamp</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Sortir:
<span><span><span class="hljs-section">Horodatage: 1757678400</span></span><span>
</span></span>DateTime :: CreateFromFormat est une méthode statique très utile qui nous permet de créer un objet DateTime basé sur un format de date et d'heure spécifique. Ceci est utile lorsque vous traitez des chaînes de dattes à formater irrégulières ou personnalisées. Sa syntaxe de base est la suivante:
<span><span><span class="hljs-title class_">DateTime</span></span><span>::</span><span><span class="hljs-title function_ invoke__">createFromFormat</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$date</span></span><span>, DateTimeZone </span><span><span class="hljs-variable">$timezone</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>)
</span></span>$ format est une chaîne de format de date, $ Date est une chaîne de date-temps conforme à ce format, et $ Timezone est un objet de fuseau horaire facultatif. Si le fuseau horaire n'est pas spécifié, PHP utilise le fuseau horaire par défaut.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$dateStr</span></span><span> = </span><span><span class="hljs-string">"12-09-2025 12:00:00"</span></span><span>;
</span><span><span class="hljs-variable">$format</span></span><span> = </span><span><span class="hljs-string">"d-m-Y H:i:s"</span></span><span>;
</span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-title class_">DateTime</span></span><span>::</span><span><span class="hljs-title function_ invoke__">createFromFormat</span></span><span>(</span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-variable">$dateStr</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Objet Date: "</span></span><span> . </span><span><span class="hljs-variable">$date</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'Y-m-d H:i:s'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Sortir:
<span><span><span class="hljs-section">Objet Date: 2025-09-12 12:00:00</span></span><span>
</span></span>Parfois, nous devons nous convertir d'une chaîne de date d'un format spécifique en horodatage. À l'heure actuelle, nous pouvons d'abord utiliser DateTime :: CreateFromFormat pour convertir la chaîne de date en un objet DateTime , puis utiliser date_timestamp_get pour obtenir l'horodatage.
Supposons que nous ayons une chaîne de date "12-09-2025 12:00:00" et que nous voulons le convertir en horodatage. Tout d'abord, nous analysons la chaîne à l'aide de DateTime :: CreateFromFormat , puis obtenons l'horodatage Unix via date_timestamp_get .
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$dateStr</span></span><span> = </span><span><span class="hljs-string">"12-09-2025 12:00:00"</span></span><span>;
</span><span><span class="hljs-variable">$format</span></span><span> = </span><span><span class="hljs-string">"d-m-Y H:i:s"</span></span><span>;
</span><span><span class="hljs-comment">// créer DateTime Objet</span></span><span>
</span><span><span class="hljs-variable">$date</span></span><span> = </span><span><span class="hljs-title class_">DateTime</span></span><span>::</span><span><span class="hljs-title function_ invoke__">createFromFormat</span></span><span>(</span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-variable">$dateStr</span></span><span>);
</span><span><span class="hljs-comment">// 获取Horodatage</span></span><span>
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date_timestamp_get</span></span><span>(</span><span><span class="hljs-variable">$date</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Horodatage: "</span></span><span> . </span><span><span class="hljs-variable">$timestamp</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Sortir:
<span><span><span class="hljs-section">Horodatage: 1757678400</span></span><span>
</span></span>De cette façon, nous sommes en mesure de convertir n'importe quelle chaîne de date de format personnalisée en un horodatage UNIX.
En combinant Date_timestamp_get et DateTime :: CreateFromFormat , nous sommes en mesure de traiter efficacement les chaînes de date dans divers formats et de les convertir en horodatage Unix. Cette méthode est particulièrement adaptée à la gestion des entrées des utilisateurs, des fichiers journaux ou d'autres situations où les dates doivent être analysées dans un format spécifique. Dans le développement réel, la maîtrise de l'utilisation de ces outils peut rendre le traitement du temps et des dates plus flexible et pratique.