Maison > développement back-end > Problème PHP > Implémentation de la conversion de php en timestamp

Implémentation de la conversion de php en timestamp

PHPz
Libérer: 2023-03-29 10:19:39
original
1533 Les gens l'ont consulté

PHP est un langage de script open source populaire largement utilisé dans le développement Web. Parmi eux, l'horodatage est un type de données très important, qui représente le nombre de secondes écoulées depuis 0:00:00 le 1er janvier 1970. En PHP, il est très pratique de convertir une chaîne d'heure en horodatage. Cet article présentera quelques méthodes de conversion d'horodatage en PHP.

Méthode 1 : strtotime()

La fonction strtotime() est une fonction très pratique en PHP pour convertir une chaîne de temps en horodatage. Nous pouvons renvoyer un horodatage correspondant en passant une chaîne représentant la date et l'heure dans la fonction. La valeur de cet horodatage représente le nombre de secondes écoulées depuis 00:00:00 le 1er janvier 1970.

Par exemple, le code PHP suivant convertit la date et l'heure actuelles en horodatage :

echo strtotime("now");
Copier après la connexion

Résultat de sortie :

1623862003
Copier après la connexion

Dans le code ci-dessus, nous passons la chaîne "now" à la fonction strtotime(). Il interprète la chaîne comme la date et l'heure actuelles et renvoie l'horodatage correspondant.

De même, nous pouvons utiliser la fonction strtotime() pour convertir n'importe quelle chaîne représentant la date et l'heure en un horodatage. Par exemple, le code suivant convertit une chaîne représentant « 1 janvier 2022 » en un horodatage :

echo strtotime("2022-01-01");
Copier après la connexion

Résultat de sortie :

1640947200
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dans le code ci-dessus, nous convertissons la chaîne "2022-01-01" Passée à strtotime() fonction. Il interprétera la chaîne comme zéro heure le 1er janvier 2022 et renverra l'horodatage correspondant.

Il convient de noter que la fonction strtotime() a certains formats de date et d'heure non pris en charge. Par exemple, le format de chaîne d'heure suivant n'est pas pris en charge :

  • "aaaa/mm/jj"
  • "aaaa.mm.jj"
  • "aaaa mm jj"

Dans ces cas, nous devons utiliser autres méthodes Convertir une chaîne d'heure en horodatage.

Méthode 2 : classe DateTime

La classe DateTime est une classe principale définie dans PHP 5.2 et les versions ultérieures. Elle fournit des méthodes d'opération de date et d'heure très pratiques. Parmi eux, la méthode createFromFormat() de la classe DateTime peut convertir les chaînes de date et d'heure en horodatages.

Par exemple, le code PHP suivant convertit une chaîne représentant "1er janvier 2022" en un horodatage :

$datetime = DateTime::createFromFormat('Y-m-d H:i:s', '2022-01-01 00:00:00');
echo $datetime->getTimestamp();
Copier après la connexion

Résultat de sortie :

1640947200
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dans le code ci-dessus, nous la créons d'abord via la méthode createFromFormat() Un objet DateTime est créé, qui interprète "2022-01-01 00:00:00" comme un objet date et heure. Ensuite, nous utilisons la méthode getTimestamp() de l'objet DateTime pour obtenir l'horodatage correspondant.

Il est à noter que la méthode DateTime::createFromFormat() nécessite deux paramètres. Le premier paramètre est le format de date et d'heure, et le deuxième paramètre est la chaîne de date et d'heure qui doit être convertie en horodatage. Par exemple, « Y-m-d H:i:s » dans le code ci-dessus signifie que la date et l'heure sont au format « Année-Mois-Jour Heure : Minute : Seconde ».

Méthode 3 : fonction mktime()

La fonction mktime() est également une fonction très pratique en PHP pour convertir la date et l'heure en horodatage. Différente de la fonction strtotime(), la fonction mktime() nous oblige à passer l'année, le mois, le jour, l'heure, la minute, la seconde et d'autres paramètres pour obtenir l'horodatage correspondant.

Par exemple, le code PHP suivant convertit une chaîne représentant "1er janvier 2022" en un horodatage :

echo mktime(0, 0, 0, 1, 1, 2022);
Copier après la connexion

Résultat de sortie :

1640947200
Copier après la connexion
Copier après la connexion
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction mktime() pour transmettre l'année ( 2022), le mois (1), le jour (1), l'heure (0), la minute (0), la seconde (0) et d'autres paramètres sont saisis et l'horodatage correspondant est renvoyé.

Il convient de noter que la fonction mktime() renverra -1 pour les valeurs de date et d'heure invalides (comme le 30 février), vous devez donc faire attention à la légalité de la date et de l'heure lorsque vous utilisez mktime( ) fonction.

Résumé

Cet article présente trois méthodes de conversion d'horodatages en PHP : la fonction strtotime(), la classe DateTime et la fonction mktime(). Parmi elles, la fonction strtotime() est la méthode la plus pratique, permettant de convertir diverses chaînes de date et d'heure en horodatages. La classe DateTime et la fonction mktime() fournissent des méthodes de fonctionnement de date et d'heure plus flexibles, qui peuvent être sélectionnées en fonction de circonstances spécifiques.

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal