问题描述

通过date()函数获取时间后,你会发现小时时间不对,比现在的时间小8个小时,无论用H,还是用h都一样。

问题分析

PHP默认的时区是UTC(格林威治时间),应该将其时区设置为PRC(北京时间)。

格林威治时间与北京时间相差8小时。

解决方案

1、修改php.ini配置文件

打开php.ini文件,一般在php配置根目录下,找到其中的 ;date.timezone,删掉前面的分号,并改为date timezone = PRC

如果找不到php.ini文件,可以编写

<?php phpinfo()?>

查看 php.ini 文件位置

保存,重启Apahce服务即可(有时用restart会有问题,先stop然后start就行了)。

2、加上date_default_timezone_set(timezone_identifier)函数

这个函数的意思是,设置当前时区,对时间进行初始化,在页头或获取时间语句前加上这句话。

例如:

<?php
date_default_timezone_set('PRC');
echo date("Y-m-d H:i:s");
?>

参数如下设置:

date_default_timezone_set(PRC) –设置为北京时间,PRC代表中华人民共和国

date_default_timezone_set(‘Asia/Shanghai’) –设置为上海时间,大陆可用的还有‘Chongqi’(重庆)、‘Urumqi’(乌鲁木齐)同样可以的

港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)

新加坡地区:Asia/Singapore   (好像就是没看到北京的)

此函数永远会返回True,但一定要输入timezone_identifier,不然会报错。

下面是所有的时区标识符:(供大家参考)

CET

CST6CDT

Cuba

EET

Egypt

Eire

EST

EST5EDT

Etc/GMT

Etc/GMT+0

Etc/GMT+1

Etc/GMT+10

Etc/GMT+11

Etc/GMT+12

Etc/GMT+2

Etc/GMT+3

Etc/GMT+4

Etc/GMT+5

Etc/GMT+6

Etc/GMT+7

Etc/GMT+8

Etc/GMT+9

Etc/GMT-0

Etc/GMT-1

Etc/GMT-10

Etc/GMT-11

Etc/GMT-12

Etc/GMT-13

Etc/GMT-14

Etc/GMT-2

Etc/GMT-3

Etc/GMT-4

Etc/GMT-5

Etc/GMT-6

Etc/GMT-7

Etc/GMT-8

Etc/GMT-9

Etc/GMT0

Etc/Greenwich

Etc/UCT

Etc/Universal

Etc/UTC

Etc/Zulu

Factory

GB

GB-Eire

GMT

GMT+0

GMT-0

GMT0

Greenwich

Hongkong

HST

Iceland

Iran

Israel

Jamaica

Japan

Kwajalein

Libya

MET

MST

MST7MDT

Navajo

NZ

NZ-CHAT

Poland

Portugal

PRC

PST8PDT

ROC

ROK

Singapore

Turkey

UCT

Universal

UTC

W-SU

WET

参考文章

https://www.cnblogs.com/gpengf/p/5057690.html

https://blog.csdn.net/u012124764/article/details/51450958

PHP——获取当前日期时间错误解决方案(PHP当前时区设置)相关推荐

  1. 如何使用Java获取当前日期/时间

    用Java获取当前日期/时间的最佳方法是什么? #1楼 采用: String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss") ...

  2. Js获取当前日期时间及其它操作(转)

    Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  3. js获取当前日期时间和其他操作

    Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  4. JS获取当前日期时间并定时刷新

    JS获取当前日期时间 var date = new Date(); date.getYear(); //获取当前年份(2位) date.getFullYear(); //获取完整的年份(4位,2014 ...

  5. JavaScript获取当前日期时间

    获取当前日期时间 // 获取当前日期时间 var myDate = new Date();myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate ...

  6. MySQL sql语句获取当前日期|时间|时间戳

    文章转载于:博客园--水狼一族 文章地址:<MySQL sql语句获取当前日期|时间|时间戳> 一.基础时间函数 1.1 获得当前日期+时间(date + time)函数:now() My ...

  7. js获取当前日期时间 YYYY-MM-dd HH:MM:SS

    js获取当前日期时间 YYYY-MM-dd HH:MM:SS function getCurrentTime() {var date = new Date();//当前时间var year = dat ...

  8. java获取当前日期时间,获取今日是周几

    (1),获取当前日期时间 String timeParse = "yyyy-MM-dd HH:mm:ss";SimpleDateFormat simpleDateFormat = ...

  9. java 获取当前日期时间_Java 获取当前日期时间

    Java 当前日期时间教程介绍了各种 Java 类,以获取 Java 中的当前日期时间. 有几种方法可以获取 Java 中的当前日期和时间. Java 程序员可以使用 Java 8(java.time ...

最新文章

  1. pybind 传递指针
  2. 云服务器 小学生_日本小学生羡慕中国学生“钉”选之子,马云实现了他们的愿望...
  3. 中科院罗平演讲全文:自动撰写金融文档如何实现,用 AI 解
  4. java 导入excel到数据库_java导入excel到数据库
  5. mysql+查询新的一条记录表_Mysql 查询表中每个类别最新的一条记录
  6. 《企业软件交付:敏捷与高效管理精要》——2.8 结论
  7. 用foobar进行码率转换 适用与sacd-r转成低码率
  8. Android Layout标签之-viewStub,requestFocus,merge,include
  9. pkgm : 压缩包维护与解压脚本
  10. arr访问绝对地址_ECSHOP源码里的图片的相对地址改为绝对地址 (1)
  11. 如何下载网页上的音频文件
  12. hc-05 android 蓝牙连接,实用,教你简单使用HC05蓝牙模块及如何配对?
  13. 常用的VS Code插件(Java后台、前端)
  14. 医学生建议计算机系学生植发,00后都开始“秃”了?皮肤科专家:不想成为“地中海”,这件事情要记牢...
  15. 双足机器人课设报告_小型舞蹈双足机器人的设计及实现
  16. python3 练习题100道,孰能生巧,之前要想一个下午的内容,马上就有了答案
  17. Tinker热更新与AndResGuard资源混淆的结合
  18. 《数据结构与算法》(十九)- 多路查找树
  19. 2022-2027年中国煤制尿素行业市场全景评估及发展战略规划报告
  20. css_复合选择器_border_css层叠性与覆盖性_background_多标记构图法_行高_文本修饰属性_超链接的伪类_导航制作_Unit_4;

热门文章

  1. 精确计算代码执行时间
  2. html樱花飘落代码_爱心飘落特效
  3. mysql 取一行_MySql – 如何获取上一行中的值和下一行中的值?
  4. matlab表白_表白 | 北航男生想找个女朋友,我身高179,希望女生体贴一点
  5. Java输出彩色字符
  6. 分享.NET开发中经常用到的十大软件(转)
  7. jcreator编译多个java_java用JCreator怎么都编译不过去!
  8. 拖链电缆 机器人电缆_trvv高柔性拖链电缆
  9. MATLAB不定积分的运算,matlab中怎么把积分函数 int 得到的不定积分式代入 solve 函数中进行计算?...
  10. android 抛出异常,android - android Build.GetSerial()抛出异常 - 堆栈内存溢出