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

php中date设置北京时区,PHP中设置时区方法小结相关推荐

  1. php中date里面的参数,PHP中date()日期函数有关参数整理

    PHP中date()日期函数有关参数整理 更新时间:2011年07月19日 22:47:41   作者: PHP中date()日期函数有关参数整理,需要的朋友可以参考下. 在页面的最前页加上 date ...

  2. php中date是啥意思,php中date函数具有哪些功能呢?

    摘要: 下文讲述php中date函数的功能说明,如下所示: php之date函数功能 php之date函数: 修改DateTime对象中的时区信息 php之date函数语法: date(format, ...

  3. Struts Form中Date类型之“argument type mismatch”错误解决方法

    现象: 当输入页面中含有日期如2008-01-01时,如果Form中对于的字段为Date类型,则会出现"argument type mismatch"错误. 原因: Struts的 ...

  4. java中date类型如何赋值_Java 中的类型传递问题解惑

    点击上方☝SpringForAll社区 轻松关注!及时获取有趣有料的技术文章 来源: https://blog.biezhi.me/2018/11/java-pass-by-value.html 我之 ...

  5. JS中DOM元素获取的宽和高的方法小结

    网页可见区域宽: document.body.clientWidth (可变) 网页可见区域高: document.body.clientHeight (可变) 网页可见区域宽: document.b ...

  6. JUnit单元测试中的setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()方法小结

    编写JUnit单元测试的时候,会用到 setUpBeforeClass().tearDownAfterClass().setUp().tearDown()这四个方法,例如用 eclipse新建一个ju ...

  7. php中年月日用什么参数,PHP中date()日期函数参数整理

    PHP中date()日期函数参数整理 发布于 2014-11-19 13:34:06 | 105 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  8. Linux中date命令的各种实用方法--转载

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的 ...

  9. php怎么改北京时间,php如何设置北京时间

    php如何设置北京时间 php如何设置北京时间? 本文实例讲述了PHP date_default_timezone_set()设置时区操作.分享给大家供大家参考,具体如下:<?php echo ...

最新文章

  1. python fft库有哪些_Python图像处理库PIL中快速傅里叶变换FFT的实现(一)
  2. git 设置有效目录_如何有效使用Git
  3. YOLOP ONNXRuntime C++工程化记录
  4. Android仿QQ界面
  5. c程序设计语言_习题1-9_将输入流复制到输出流,并将多个空格过滤成一个空格...
  6. 使用 Sublime + PlantUML 高效地画图
  7. linux下搭建hexo环境
  8. aba会导致问题_护发素会导致掉发?这个纠结多年的问题,真相原来是这回事
  9. Mac上配置 Sublime Text 使其使用 Python3
  10. Jmeter之事物控制器
  11. ASP.NET Core 1.0中的管道-中间件模式
  12. 再论EM算法的收敛性和K-Means的收敛性
  13. scala特质_Scala的特质
  14. 每日一题:leetcode1579.保证图可完全遍历
  15. GCC笔记 命令行分析
  16. 面向对象:类的定义和使用
  17. 删除html中所有的脚本,从HTML内容中删除脚本标记
  18. linux写参数文件,linux下纯C++读取参数配置文件
  19. 校园网自动登录Python版
  20. IP地址-子网划分详解

热门文章

  1. 教你搭个助我大学拿Offer的面试项目
  2. Python金融数据分析入门到实战-视频课程
  3. 日本亚马逊海淘转运公司好?日亚转运公司攻略
  4. Android——浙理体育(飞翔的红蜻蜓)反编译分析
  5. rfcn 共享_rfcn卷积网络
  6. C#基于联通短信Sgip协议构建短信网关程序.net
  7. 看了知乎,直呼牛逼 !
  8. ZJM 与生日礼物(字典树)
  9. java生成和解析二维码实战——QRCode
  10. Python 【哔哩哔哩】短视频的自动上传与发布实例演示,,同时支持抖音、快手、小红书、微视、西瓜视频、微信视频号等平台的视频自动化同步发布