Maison > Article > développement back-end > Comment définir le fuseau horaire en PHP
Le contenu de cet article concerne la définition du fuseau horaire en PHP. Les amis dans le besoin peuvent s'y référer
Aujourd'hui, j'ai trouvé quelque chose qui n'allait pas avec l'instruction de jugement temporel dans un morceau de code PHP, et j'ai étudié. J'ai découvert que le problème réside dans le réglage du fuseau horaire de PHP. L'heure prise par PHP est par défaut l'heure de Greenwich, elle est donc différente de 8 heures par rapport à l'heure de Pékin
Après avoir trouvé la raison, j'ai cherché en ligne. pour certains paramètres de fuseau horaire de la méthode PHP :
1. Modifiez php.ini, recherchez data.timezone = dans php.ini et supprimez le numéro devant, puis définissez data.timezone = "Asia". /Shanghai" ;.
2. Utilisez la fonction ini_set('date.timezone','Asia/Shanghai'); ou date_default_timezone_set('Asia/Shanghai');
Explication de certains identifiants de fuseau horaire couramment utilisés :
Asie/Shanghai – Shanghai
Asie/Chongqing – Chongqing
Asie/Urumqi – Urumqi
Asie/Hong_Kong – Hong Kong
Asie/Macao – Macao
Asie/Taipei – Taipei
Asie/Singapour – Singapour
Méthode de réglage du fuseau horaire :
Copiez le code Le code est le suivant :
<?php function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的 date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时 date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时 date_default_timezone_set('PRC'); //设置中国时区 ?>
La fonction ini_set() définit le fuseau horaire : Vous pouvez ajouter ini_set('date.timezone au début du fichier ','Asia/Shanghai'); // 'Asia/Shanghai' est le fuseau horaire de Shanghai
Modifier manuellement le php. paramètres ini
Ouvrez php et recherchez date.timezone = "PRC" Si c'est le cas, supprimez le point-virgule devant, sinon, ajoutez-le manuellement !
Voici quelques informations supplémentaires :
Vous rencontrerez ce problème après l'installation de PHP5
$atime=date ( "Y-m-d H:i:s"); echo $atime;
?>
Sortie : 2006-05-16 06:36:06
Quelle heure est-il maintenant ?/Mon C'est 14:36
Pourquoi ça ?
La raison est que si vous ne définissez pas le fuseau horaire local de votre serveur dans le programme ou le fichier de configuration
L'heure prise par PHP est l'heure de Greenwich, elle sera donc différente de votre heure locale
Greenwich La différence entre l'heure standard et l'heure de Pékin est d'environ 8 heures. Alors, comment pouvons-nous éviter les erreurs de temps ?
Jetons un coup d'œil à la solution :
Utilisez date_default_timezone_set() dans l'en-tête de la page pour définir mon fuseau horaire par défaut sur l'heure de Pékin
Copiez le code Le code est le suivant :
<? date_default_timezone_set('PRC'); echo date('Y-m-d H:i:s'); ?>L'heure est la même que l'heure actuelle du serveur
De plus, l'utilisation de date_default_timezone_set est la suivante :
---- ------------------ -------------------------------- ------------------ ------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- Définit le fuseau horaire par défaut utilisé pour toutes les fonctions de date et d'heure dans un script
Description
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() Définit le fuseau horaire par défaut utilisé pour toutes les fonctions datetime.
Remarque : Depuis PHP 5.1.0 (les fonctions date et heure ont été réécrites dans cette version), si le fuseau horaire n'est pas valide, chaque appel à la fonction date et heure générera un message d'erreur de niveau E_NOTICE.
Paramètres
timezone_identifier
Identificateur de fuseau horaire, tel que UTC ou Europe/Lisbonne
Valeur de retour
Cette fonction renvoie toujours VRAI (même si le paramètre timezone_identifier est illégal).
-------------------------------------------------------------- --- ---------------------------------------------
Ou modifiez date.timezone dans php.ini Value
date.timezone = PRC
Après avoir installé PHP5, vous rencontrerez ce problème
$atime=date("Y-m-d H:i:s") ;
echo $atime;
?>
Sortie : 2006-05-16 06:36:06
Quelle heure est-il maintenant ?/La mienne est 14:36
Pourquoi est-ce?
La raison est que si vous ne définissez pas le fuseau horaire local de votre serveur dans le programme ou le fichier de configuration
L'heure prise par PHP est l'heure de Greenwich, elle sera donc différente de votre heure locale
Greenwich La différence entre l'heure standard et l'heure de Pékin est d'environ 8 heures. Alors, comment pouvons-nous éviter les erreurs de temps ?
Jetons un coup d'œil à la solution :
Utilisez date_default_timezone_set() dans l'en-tête de la page pour définir mon fuseau horaire par défaut sur l'heure de Pékin
Copiez le code Le code est le suivant :
<? date_default_timezone_set('PRC'); echo date('Y-m-d H:i:s'); ?>
时间和服务器当前时间一样了!
另外附date_default_timezone_set用法如下:
------------------------------------------------------------------------------------
date_default_timezone_set
(PHP 5 >= 5.1.0RC1)
date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区
说明
bool date_default_timezone_set ( string timezone_identifier )
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。
注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。
参数
timezone_identifier
时区标识符,例如 UTC 或 Europe/Lisbon
返回值
本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。
-------------------------------------------------------------------------------------
或者修改 php.ini 中 date.timezone 值
date.timezone = PRC
相关推荐:
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!