Maison > Article > développement back-end > Quelles sont les méthodes pour convertir l’heure américaine en heure chinoise en PHP ?
PHP est un langage de script côté serveur couramment utilisé pour le développement de sites Web et la génération de pages Web dynamiques. Au cours du processus de développement, nous rencontrons souvent des situations dans lesquelles nous devons convertir l'heure dans différents fuseaux horaires, comme par exemple la conversion de l'heure américaine en heure chinoise. Ensuite, nous présenterons quelques méthodes PHP pour convertir l’heure américaine en heure chinoise et joindrons des exemples de code spécifiques.
$usDateTime = new DateTime('2023-01-15 10:30:00', new DateTimeZone('America/New_York')); $usDateTime->setTimezone(new DateTimeZone('Asia/Shanghai')); $cnDateTime = $usDateTime->format('Y-m-d H:i:s'); echo "美国时间转换为中国时间:$cnDateTime";
Le code ci-dessus crée d'abord un objet DateTime de l'heure américaine et définit le fuseau horaire américain sur « Amérique/New_York », puis convertit le fuseau horaire en Chine » Asia/Shanghai', et enfin formater et afficher l'heure convertie via la méthode format().
$usDateTime = '2023-01-15 10:30:00'; $usTimestamp = strtotime($usDateTime); $cnTimestamp = $usTimestamp + 12 * 3600; // 美国东部时区与中国时区相差12小时 $cnDateTime = date('Y-m-d H:i:s', $cnTimestamp); echo "美国时间转换为中国时间:$cnDateTime";
Ce code convertit d'abord la chaîne d'heure américaine en horodatage, puis convertit l'heure en fonction du principe selon lequel le fuseau horaire de l'Est des États-Unis est 12 heures différentes du fuseau horaire de la Chine L'horodatage est ajusté pour obtenir l'horodatage de l'heure chinoise, et enfin l'horodatage est formaté en heure chinoise et affiché via la fonction date().
$usDateTime = new DateTime('2023-01-15 10:30:00', new DateTimeZone('America/New_York')); $usTimeZone = $usDateTime->getTimezone(); $cnTimeZone = IntlTimeZone::createTimeZone('Asia/Shanghai'); $usMilliseconds = $usDateTime->getTimestamp() * 1000; $cnMilliseconds = IntlDateFormatter::formatObject($usTimeZone, $usTimeZone, 'timestamp', null, null, 'yyyy-MM-dd HH:mm:ss', $usMilliseconds); $cnDateTime = date_create_from_format('U', $cnMilliseconds / 1000); echo "美国时间转换为中国时间:".$cnDateTime->format('Y-m-d H:i:s');
Ce code crée d'abord un objet DateTime de l'heure américaine et obtient l'objet de fuseau horaire américain. Ensuite, il crée un objet de fuseau horaire chinois via la classe IntlTimeZone, puis convertit l'objet de fuseau horaire américain. time en horodatage milliseconde, puis utilisez la méthode formatObject() de la classe IntlDateFormatter pour convertir l'heure américaine en horodatage milliseconde de l'heure chinoise, et enfin générer un objet DateTime de l'heure chinoise via date_create_from_format() et afficher l'heure chinoise.
Grâce aux trois méthodes ci-dessus, nous pouvons réaliser la fonction de conversion de l'heure américaine en heure chinoise. Dans les applications pratiques, la méthode appropriée peut être sélectionnée pour la conversion du temps en fonction des besoins spécifiques afin de répondre aux exigences du projet.
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!