Dans le développement d'applications Web, la conversion du type de données de date est souvent impliquée. PHP fournit une multitude de fonctions de date et d'heure, qui peuvent facilement effectuer le formatage de date, la comparaison, le calcul et d'autres opérations. Cet article présentera les types de données de date en PHP et leurs méthodes de conversion.
En PHP, les dates peuvent être représentées sous forme de chaînes ou d'entiers. Les formats de date couramment utilisés incluent :
En utilisant la fonction intégrée PHP strtotime(), vous peut convertir la date et convertir une chaîne d'heure en un horodatage Unix. Cette fonction accepte une chaîne représentant une date et une heure comme paramètres et renvoie l'horodatage Unix correspondant à la date.
$time_str = '2022-01-01'; $time_stamp = strtotime($time_str); echo $time_stamp; // 输出:1640995200
Le code ci-dessus convertit la chaîne de date « 01/01/2022 » en un horodatage Unix et génère l'horodatage.
Remarque : Lorsque vous utilisez la fonction strtotime() pour convertir une chaîne de date en horodatage, le format de date doit être le format de date anglais "Mois Jour Année" ou "Jour Mois Année" ou le format de date "Y-m-d ".
L'horodatage Unix peut être formaté dans le format de date spécifié via la fonction intégrée PHP date(). Cette fonction accepte deux paramètres : le premier paramètre est une chaîne représentant le format de date et le deuxième paramètre est un horodatage Unix.
$time_stamp = 1640995200; $date_str = date('Y-m-d H:i:s', $time_stamp); echo $date_str; // 输出:2022-01-01 00:00:00
Le code ci-dessus formate l'horodatage Unix 1640995200 en une chaîne de date au format 'Y-m-d H:i:s' et génère la chaîne.
En PHP, vous pouvez utiliser directement des opérateurs de comparaison de chaînes (>, <, ==, !=, etc.) pour comparer la taille des chaînes de date. Si vous convertissez une chaîne de date en horodatage Unix, vous pouvez également comparer directement à l'aide d'opérateurs de comparaison numérique (>, <, =, !=, etc.).
$date_str1 = '2022-01-01'; $date_str2 = '2022-01-02'; if ($date_str1 < $date_str2) { echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之前'; } else { echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之后'; }
Le code ci-dessus compare les tailles de deux chaînes de date et génère le résultat final de la comparaison.
Vous pouvez utiliser la fonction intégrée PHP mktime() pour convertir les dates en horodatages Unix. Cette fonction accepte plusieurs paramètres, à savoir les heures, les minutes, les secondes, les mois, les jours et les années. Si aucun argument n'est spécifié, la fonction renvoie l'horodatage Unix de l'heure actuelle.
$year = 2022; $month = 1; $day = 1; $hour = 0; $minute = 0; $second = 0; $time_stamp = mktime($hour, $minute, $second, $month, $day, $year); echo $time_stamp; // 输出:1640995200
Le code ci-dessus convertit la date « 2022-01-01 » en un horodatage Unix et génère l'horodatage.
Semblable à la fonction date() présentée ci-dessus, la fonction intégrée PHP strftime() peut également formater les horodatages Unix dans le format de date spécifié. Cette fonction accepte deux paramètres : le premier paramètre est une chaîne représentant le format de date (prend en charge les caractères de formatage, tels que %Y, %m, %d, %H, %M, %S, etc.), et le deuxième paramètre est Horodatage Unix.
$time_stamp = 1640995200; $date_str = strftime('%Y年%m月%d日 %H时%M分%S秒', $time_stamp); echo $date_str; // 输出:2022年01月01日 00时00分00秒
Le code ci-dessus formate l'horodatage Unix 1640995200 dans le format de date spécifié et génère la chaîne formatée.
En PHP, lorsqu'il s'agit d'opérations de conversion de type de date, les développeurs peuvent utiliser les fonctions intégrées strtotime(), date(), mktime(), strftime() et d'autres fonctions pour effectuer des opérations facilement. Dans le développement réel, il est nécessaire de sélectionner les fonctions appropriées en fonction de besoins spécifiques et de les utiliser de manière flexible.
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!