转 PHP 和时间时区相关的函数
找到了几个写的很清楚的网页,直接转发
时区问题这个网页最清楚https://blog.csdn.net/jingtsy/article/details/80100642
方法1:
(最好的方法)在php.ini里加上找到date.timezone项,设置date.timezone = "Asia/Shanghai",重启环境就ok了。
方法2:
在需要用到这些时间函数的时候,在页面添加date_default_timezone_set("PRC");
方法3:
在页头加上设置时区ini_set('date.timezone','Asia/Shanghai');
总结,方法一和方法三一般要有服务器权限的才比较有效,而方法2技术人员就可以控制当前页面了,也是程序员比较常用的方法了。
另外,不同时区的设定可以参考这个文档https://www.php.net/manual/zh/class.datetimezone.php
时间函数问题,看这个https://blog.csdn.net/helen_shw/article/details/88052047文章引用的是这个https://www.mdaima.com/jingyan/6.html
time()在PHP中是可到一个数字即时间戳,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧!所以计算时间就用下面的方式:
1 2 | 要找出前一天的时间就是time()-60*60*24; 要找出前一年的时间就是time()*60*60*24*365 |
要想在PHP页面调用时间,为保证准确度,应该在页面的最前页加上时区的设置
1 | date_default_timezone_set( "PRC" ); //把时区设置为北京,这样时间就同步为北京时间了,php5默认为格林威治标准时间,所以这里一定要注意,如果发现时间不对就查一下是不是这里没有设置正确吧! |
那么如何把这个时间戳数字换成日期格式呢,就要用到date函数了
1 2 3 | $datetime =time(); //获取时间戳 echo date ( "Y-m-dH:i:s" , $datetime ); //将时间戳转换为要求的日期时间格式 echo date ( "Y年m月d日H点i分s秒" , $datetime ); //其实上面的横杠(-)可以换成任意字符,只要你喜欢,呵呵 |
输出结果为:2015-12-18 12:23:35
那如何把日期转为时间戳格式呢,就是转成一串数字(秒)
1 2 | $str = '2015-12-1812:23:35' ; //设置时间变量 echo strtotime ( $str );将标准的日期时间格式转为以秒为单位的时间戳数字,这里要注意,用 strtotime ()函数,要求被转换的时期时间为标准格式,如果用了年、月、日这种就不行了,要先转换为标准格式才行! |
输出结果为:1450441415...
浏览更多内容请先登录。
立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。
更新于:2020-05-05 16:18:32
相关内容
推荐内容