PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法

问题:

php函数date("Y-n-d   H-i-s");   输出的时间与当地时间相差8个小时.

解决思路

北京时间是东8区,可能是时区问题.但是此前都没问题啊,经过google发现原来从php5.1.0开始,php.ini里加入了 date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和我们的时间(北京时间)差了正好8个小时。

在调用date()函数之前先设定时区。

方法一:
date_default_timezone_set('PRC');
没有返回值。下面再直接使用date函数就OK了
$time = date(Y."年".m."月".d."日".G."时".i."分");

方法二:

修改php.ini中的;date.timezone = 为date.timezone = "Asia/Shanghai"(或者改为date.timezone = PRC)并去掉前面的分号,重启Apache即可。

(0)

相关推荐

  • PHP date函数参数详解

    time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计算, 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就是 time()*60*60*24*365 那么如何把这个数字换成日期格式呢,就要用到date函数了 $t=time();  echo date("Y-m-d H:i:s",$t); 第一个参数的格式分别表示: a - "am" 或是 "pm"  A

  • PHP date()函数警告: It is not safe to rely on the system解决方法

    近来总是有系统邮件提示,开始没在意,后来不断提示就看了一下.提示以下信息 复制代码 代码如下: PHP Warning:  date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of t

  • PHP将DateTime对象转化为友好时间显示的实现代码

    复制代码 代码如下: /** * 友好日期时间 * * @param DateTime $datetime 日期时间 * @param int $size 精确到位数 * @throws \InvalidArgumentException * @return string */ function friendly_date($datetime, $size=1) { if (is_int($datetime)) { $datetime = new \DateTime($datetime); }

  • PHP下获取上个月、下个月、本月的日期(strtotime,date)

    今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改. 获取本月日期: 复制代码 代码如下: function getMonth($date){     $firstday = date("Y-m-01",strtotime($date));     $lastday = da

  • php Smarty date_format [格式化时间日期]

    Example 5-8. date_format[日期格式] index.php: 复制代码 代码如下: $smarty = new Smarty; $smarty->assign('yesterday', strtotime('-1 day')); $smarty->display('index.tpl'); index.tpl: {$smarty.now|date_format} {$smarty.now|date_format:"%A, %B %e, %Y"} {$s

  • php使用strtotime和date函数判断日期是否有效代码分享

    咋一想,判断日期是否有效应该是蛮简单的一个功能,但是细想起来还是有点麻烦的,因为既要检验格式,又要检验有效性.例如2013-02-29,虽然格式正确,但是日期无效:而2012-02-29格式正确,也有效. 一种方法可以使用正则,但是正则其实理解起来蛮麻烦的,而且使用正则在检验有效性方面也不太好.这里提供一个方法,主要是使用strtotime和date函数进行检验.直接上函数: 复制代码 代码如下: /** * 校验日期格式是否正确 *  * @param string $date 日期 * @p

  • 总结PHP中DateTime的常用方法

    前言 实例化对象前面加\表示的是,在命名空间中使用原生的类,如果没有使用命名空间的话,可以把前面的\给删除掉 1. 输出当前时间 $datetime = new \DateTime; print_r($datetime->format('Y-m-d H:i:s')); 2. 输出给定的时间 $datetime = new \DateTime('2016-06-13'); print_r($datetime); 3. 根据给定的时间格式化为自己想要的时间 $datetime = \DateTime

  • php+MySQL判断update语句是否执行成功的方法

    update语句是PHP+MySQL中常用的操作,判断update语句是否执行成功是其中非常重要的一个环节.本文就以实例展示了php+MySQL判断update语句是否执行成功的方法.分享给大家供大家参考之用.具体方法如下: 代码一: $rs=MySQL_query($sql); if(mysql_affected_rows()) echo "sql执行成功"; else echo "sql执行失败"; 代码二: <?php /* 连接数据库 */ mysql

  • 关于php程序报date()警告的处理(date_default_timezone_set)

    在写php程序中有时会出现这样的警告: PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are stil

  • PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法

    问题: php函数date("Y-n-d   H-i-s");   输出的时间与当地时间相差8个小时. 解决思路 北京时间是东8区,可能是时区问题.但是此前都没问题啊,经过google发现原来从php5.1.0开始,php.ini里加入了 date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和我们的时间(北京时间)差了正好8个小时. 在调用date()函数之前先设定时区. 方法一:date_default_timezon

  • PHP5中的时间相差8小时的解决办法

    方法1:        找到php.ini中的";date.timezone ="这行,将";"去掉,改成"date.timezone = PRC"(PRC:People's Republic of China 中华人民共和国),重启Apache,问题解决. 方法2:         在php5以及起以上的版本,要输出本地的时间(限中国),可以这么写代码: PHP代码 复制代码 代码如下: <?php      date_default_t

  • php实现的太平洋时间和北京时间互转的自定义函数分享

    没有什么好说的了,直接上代码吧: /** * 太平洋时间转北京时间 */ public function pacificToPRC($time=''){ date_default_timezone_set('Pacific/Apia'); if(empty($time)){ $time = time(); } date_default_timezone_set('Asia/Shanghai'); $date = date('Y-m-d H:i:s',$time); $time = strtoti

  • 如何修改CentOS服务器时间为北京时间

    1.购买了VPS,CentOS系统,发现服务器时间与北京时间往往不一致,存在时差. [clive@server workspace]$ date 2018年 05月 30日 星期三 02:02:47 UTC 1.可以执行tzselect命令按提示更换时区,依次选择5-Asia,9-China,1-Beijing Time. Please identify a location so that time zone rules can be set correctly. Please select

  • JS中页面与页面之间超链接跳转中文乱码问题的解决办法

    在原页面一张图片上添加了一个链接,链接中有中文,于是出现下面的情况: 解决办法是在tomcat的server.xml文件的中加入URIEncoding="utf-8",如下: <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443&q

  • 解析美国东部时间与北京时间相互转换的实现代码

    美国东部时间在UTC-5时区,北京时间是UTC+8时区,正常情况下美东时间比北京时间晚13个小时.需要注意的是美国有夏令时,而北京没有夏令时,美国夏令时时会让时间快一个小时,让人民早起早睡,所以在美国实行夏令时时美东时间比北京时间晚12个小时.逻辑如上所述,代码如下 复制代码 代码如下: /// <summary> /// AMESTime 的摘要说明: /// 美东时间的转换 ///  /// 美东时间在UTC-5时区,美国有夏时制,即在夏令时启用之后美东时间比起所在时区早一个小时,即UTC

  • php中把美国时间转为北京时间的自定义函数分享

    由于最近做邮件系统用到了时间转化,需要把从谷歌gmail下载下来的邮件时间转化为北京时间,于是乎就写了一个时间转化函数,希望对有需要的盆友所有启迪,我们都知道中美时间相差13个小时,下面直接上代码: function datezhuanhuan($dateparams) { $ccc=strtotime($dateparams); $date=date('Y-m-d'); $bjtime=date('Y-m-d',$ccc); if($date==$bjtime) { $sbjtime=date

  • Mysql中STR_TO_DATE函数使用(字符串转为日期/时间值)

    STR_TO_DATE函数用于将字符串转变为日期/时间值 STR_TO_DATE函数与DATE_FORMAT函数的作用是相反的 语法格式 STR_TO_DATE(str,format) srt:要格式化为日期的字符串(输入字符串) format:要使用的格式字符串 如果不能按照format解析str,STR_TO_DATE函数将返回NULL 如果其中任何一个参数为NULL,STR_TO_DATE函数将返回NULL 将字符串转换为DATE值 -- 2022-05-25 SELECT STR_TO_

  • JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法

    今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时都是正常的,但是在"08","09"就会返回0 (这种现象出现在ie内核的浏览器中,如360浏览器就会出现这种错误)(谷歌,火狐不受影响) . 查阅资料得知着这种现象原因: 大神的解释: 01--07自然没有问题,但是09,08都是不合格的八进制形式,所以被按照0处理了

  • Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法

    在Eclipse中开发JAVAT程序处理图片时,需要引入两个包: import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; 但有时引入这个两个包时会报出错误: Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required library C:/

随机推荐