>백엔드 개발 >PHP 문제 >PHP에서 UTC 시간대를 설정하는 방법

PHP에서 UTC 시간대를 설정하는 방법

藏色散人
藏色散人원래의
2020-08-10 10:23:496489검색

PHP에서 UTC 시간대를 설정하는 방법: 1. "date_default_timezone_set("UTC");" 메소드를 통해 프로그램의 내부 시간대를 UTC 시간으로 설정합니다. 2. "localToUtc" 메소드를 사용하여 현지 시간을 UTC 시간으로 변환합니다. .

PHP에서 UTC 시간대를 설정하는 방법

추천: "PHP Video Tutorial"

PHP 교차 시간대(UTC 시간) 설정 방법

이 문서에서는 PHP에서 교차 시간대 설정 방법을 소개하고 내부 설정을 설정합니다. 프로그램의 시간대를 UTC 시간으로 변환합니다. (UTC는 GMT라고도 함) UTC 시간 등은 참조용으로 데이터베이스에 저장됩니다.

PHP 교차 시간대(UTC 시간) 설정

1, 프로그램의 내부 시간대를 UTC 시간으로 설정합니다(UTC는 GMT라고도 함)

PHP 설정:

코드 예:

date_default_timezone_set("UTC");

Yii 설정:

config/main.php 中添加 :'timeZone'=>'UTC',

이렇게 설정한 후 HP에서 생성되는 시간은 기본적으로 UTC 시간입니다.

예:

코드 예:

//输出当前UTC时间
date("Y-m-d H:i:s");

2. UTC 시간은 데이터베이스에 저장되며

는 데이터베이스 시간대를 설정하여 제어할 수 있습니다. 서버에서 프런트엔드까지의 시간은 UTC 시간 형식으로 균일하며 JS에서 현지 시간으로 변환하여 표시합니다.

JS 내부 데이터와 디스플레이 데이터는 분리되어 있습니다.

JS 변환 함수:

코드 예:

/**
* 将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 ? &#39;0&#39;+str : str;
}

위 내용은 PHP에서 UTC 시간대를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.