Maison > Article > développement back-end > Comment définir le fuseau horaire UTC en php
Comment définir le fuseau horaire UTC en PHP : 1. Définissez le fuseau horaire interne du programme sur l'heure UTC via la méthode "date_default_timezone_set("UTC");" l'heure à l'heure UTC.
Recommandé : "Tutoriel vidéo PHP"
Comment définir PHP sur plusieurs fuseaux horaires (heure UTC )
Cet article présente la méthode de réglage des fuseaux horaires croisés en php, en définissant le fuseau horaire interne du programme sur l'heure UTC (UTC peut également être appelé GMT), etc. stocké dans la base de données pour votre référence.
Paramètres PHP de fuseaux horaires croisés (heure UTC)
1, définissez le fuseau horaire interne du programme sur l'heure UTC (UTC peut également être appelé GMT)
Paramètres PHP. :
Exemple de code :
date_default_timezone_set("UTC");
Paramètres Yii :
config/main.php 中添加 :'timeZone'=>'UTC',
Après un réglage comme celui-ci, l'heure générée par HP est essentiellement l'heure UTC .
Par exemple :
Exemple de code :
//输出当前UTC时间 date("Y-m-d H:i:s");
2, l'heure UTC est stockée dans la base de données
peut être contrôlée. avec PHP également. Cela peut être réalisé en définissant le fuseau horaire de la base de données
2. L'heure envoyée par le serveur au front-end est au format UTC, qui est convertie en heure locale par JS et affichée.
Les données internes de JS et les données d'affichage sont séparées.
Fonction de conversion JS :
Exemple de code :
/** * 将UTC时间转为本地时间 * @param string utcTime utc时间字符串 格式 :'Y-m-d H:i:s' * @return string 本地时间字符串 格式 :'Y-m-d H:i:s' */ function utcToLocal(utcTime) { if(utcTime==='0000-00-00 00:00:00' || utcTime===null || utcTime==='' || utcTime===undefined) return utcTime; var locTime = new Date(); //local时间对象 utcTime=utcTime.replace("-", "/").replace("-", "/"); //火狐不兼容'-'分隔日期 //解析字符串及本地时间赋值 locTime.setTime(Date.parse(utcTime)-locTime.getTimezoneOffset()*60000); //本地时间字符串格式化 var year = locTime.getFullYear(); var month = preZero(locTime.getMonth()+1); var date = preZero(locTime.getDate()); var hour = preZero(locTime.getHours()); var minute = preZero(locTime.getMinutes()); var second = preZero(locTime.getSeconds()); return year+'-'+month+'-'+date+' '+hour+':'+minute+':'+second; } /** * 将本地时间转为UTC时间 * @param string locTime utc时间字符串 格式 :'Y-m-d H:i:s' * @return string 本地时间字符串 格式 :'Y-m-d H:i:s' */ function localToUtc(locTime) { if(locTime==='0000-00-00 00:00:00' || locTime==='0000-00-00' || locTime===null || locTime==='' || locTime===undefined) return locTime; var tmpTime = new Date(); var utcTime = new Date(); locTime=locTime.replace("-", "/").replace("-", "/"); //火狐不兼容'-'分隔日期 //解析字符串 tmpTime.setTime(Date.parse(locTime)); if(locTime.length>10) { var year = tmpTime.getUTCFullYear(); var month = preZero(tmpTime.getUTCMonth()+1); var date = preZero(tmpTime.getUTCDate()); var hour = preZero(tmpTime.getUTCHours()); var minute = preZero(tmpTime.getUTCMinutes()); var second = preZero(tmpTime.getUTCSeconds()); return year+'-'+month+'-'+date +' '+hour+':'+minute+':'+second; } else { //设置日期,保留本地时间(供UTC转换用) utcTime.setFullYear(tmpTime.getFullYear()); utcTime.setMonth(tmpTime.getMonth());utcTime.setMonth(tmpTime.getMonth());//?若不重复,则赋值无效 utcTime.setDate(tmpTime.getDate()); var year = utcTime.getUTCFullYear(); var month = preZero(utcTime.getUTCMonth()+1); var date = preZero(utcTime.getUTCDate()); return year+'-'+month+'-'+date; } } //单个数字添加前导0 function preZero(str) { return str.toString().length<2 ? '0'+str : str; }
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!