PHP中设置时区方法小结
今天发现一段PHP代码中的时间判断语句出了点问题,研究了一下发现问题出在PHP的时区设置上,PHP所取的时间默认是格林威治标准时间,所以和北京时间相差8小时
找到原因后,在网上搜索到了一些关于PHP的时区设置方法:
1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asia/Shanghai”;即可。
2、在程序PHP 5以上版本的程序代码中使用函数ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set(‘Asia/Shanghai');
一些常用的时区标识符说明:
Asia/Shanghai – 上海
Asia/Chongqing – 重庆
Asia/Urumqi – 乌鲁木齐
Asia/Hong_Kong – 香港
Asia/Macao – 澳门
Asia/Taipei – 台北
Asia/Singapore – 新加坡
函数设置时区方法:
代码如下:
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'); //设置中国时区
?>
函数ini_set()设置时区:
可以在文件开头加入 ini_set('date.timezone','Asia/Shanghai'); // 'Asia/Shanghai' 为上海时区
手动修改php.ini设置
打开php找到date.timezone = "PRC" 如有去掉前面的分号,没有的话手动添加!
以下是一些资料补充:
装上PHP5后你会发现这样的问题
$atime=date("Y-m-d H:i:s");
echo $atime;
?>
输出:2006-05-16 06:36:06
现在几点了?/我的是14:36
这是为什么捏?
原因是假如你不在程序或配置文件中设置你的服务器当地时区的话
PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入
格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?
我们一起来看看解决方法:
在页头使用date_default_timezone_set()设置我的默认时区为北京时间
代码如下:
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
装上PHP5后你会发现这样的问题
$atime=date("Y-m-d H:i:s");
echo $atime;
?>
输出:2006-05-16 06:36:06
现在几点了?/我的是14:36
这是为什么捏?
原因是假如你不在程序或配置文件中设置你的服务器当地时区的话
PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入
格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?
我们一起来看看解决方法:
在页头使用date_default_timezone_set()设置我的默认时区为北京时间
代码如下:
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

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











시간대란 지구상의 한 지역에서 사용되는 표준시간을 말한다. 세계에는 UTC-12부터 UTC+14까지 24개의 시간대가 있습니다. 시간대가 다른 국가 간을 여행할 때는 각 국가의 시간대에 맞춰 시간을 조정해야 합니다. PHP에는 전 세계 모든 시간대의 시간을 사용할 수 있는 내장 시간 함수가 있습니다.

제목: time.Unix 함수를 사용하여 Unix 타임스탬프를 시간 형식으로 변환하고 시간대를 설정합니다. Go 언어에서는 Unix 타임스탬프를 읽을 수 있는 시간 형식으로 변환해야 하는 경우가 많으며 시간대 설정을 고려해야 하는 경우가 많습니다. 이 기사에서는 time 패키지의 Unix 함수를 사용하여 이 작업을 수행하는 방법을 소개하고 시간대를 설정하는 방법을 보여줍니다. 먼저, Unix 타임스탬프가 무엇을 의미하는지 이해해야 합니다. Unix 타임스탬프는 1970년 1월 1일 이후의 시간을 나타내는 초 단위의 정수입니다.

PHP에서 시간대를 수정하는 방법: 1. 구성 파일에서 기본 시간대를 동부 8로 설정합니다. 2. "date_default_timezone_set('Asia/Shanghai');" 코드를 통해 시간대를 설정합니다. 3. "date_default_timezone_set"을 설정합니다. ('PHP 페이지 헤더 PRC'에 있음);".

여러분, 텐센트 미팅 예약 시 시간대 선택 방법을 아시나요? 오늘은 텐센트 미팅 예약 시 시간대 선택 방법에 대해 설명드리겠습니다. 관심 있으신 분들은 에디터와 함께 한 번 들러보시길 바랍니다. 당신을 도울 수 있습니다. 1단계: Tencent Meeting 앱에 들어가서 클릭하여 회의를 예약합니다(그림 참조). 2단계: 정기회의 등 회의 유형을 선택하고 다음을 클릭합니다(그림 참조). 3단계: 미팅예약 페이지에서 시간대(그림 참조)를 클릭하세요. 4단계: 시간대를 선택합니다(그림 참조). 5단계: 설정이 성공적으로 완료되면 마침(그림 참조)을 클릭하세요.

PHP는 매우 인기 있는 서버측 프로그래밍 언어입니다. PHP를 사용하여 웹 애플리케이션을 개발할 때, PHP에서 시간대를 설정해야 하는 경우가 있습니다. PHP의 기본 시간대는 "UTC(Coordinated Universal Time)"인데, 이는 우리가 원하는 시간대가 아닌 경우가 많기 때문에 php.ini 파일에서 시간대 설정을 변경해야 합니다. 이 기사에서는 php.ini 파일에서 시간대를 변경하는 방법을 설명합니다.

Linux에서 시간대를 변경하는 방법은 적용되지 않습니다. 1. Linux 시스템에 로그인하고 터미널에 들어갑니다. 2. 시간대를 수정하려면 구성 파일을 복사합니다. 3. "hwclock --"을 통해 하드웨어 시계를 봅니다. show" 명령을 실행한 다음 하드웨어 시계를 설정합니다. 4. "vim /etc/timezone Asia/Shanghai"를 전달하면 시간대를 수정할 수 있습니다.

Go에서 시간대를 조정하는 방법은 무엇입니까? 시간대를 로드하려면 time.LoadLocation을 사용하세요. In 메서드를 사용하여 시간을 지정된 시간대로 변환합니다. 시간을 문자열로 형식화하려면 Format 메서드를 사용합니다. 시간대 정보가 포함된 시간 문자열을 구문 분석하려면 Parse 메서드를 사용하세요. Header.Get("TimeZone")을 통해 HTTP 요청에서 클라이언트 시간대를 가져옵니다.

DateTime 타임스탬프의 특성 PHPDateTime 확장에서 타임스탬프는 특정 시점을 나타내는 숫자 값으로, 일반적으로 UNIX 타임스탬프 형식으로 1970년 1월 1일부터 경과된 초 수를 나타냅니다. 00:00 UTC. 타임스탬프의 미스터리: UTC 및 시간대 DateTime 타임스탬프의 미스터리 중 하나는 기본적으로 UTC(협정 세계시) 시간대를 사용한다는 것입니다. 이는 귀하가 받는 타임스탬프가 현지 시간대와 다를 수 있음을 의미합니다. 예를 들어 태평양 표준시(UTC-8)로 타임스탬프를 받으면 현지 시간보다 8시간 늦습니다. 이 미스터리를 해결하려면 DateTime::setTimestamp() 메서드를 사용하여 특정 시간을 지정할 수 있습니다.
