注意在PHP中写进行时间的运算都是将时间转化为时间戳进行运算!
时间戳是当前时间距离1970年01月01日 00:00:00的秒数,在PHP中用
strtotime()函数将其时间转化为时间戳
用法如下:
strtotime($date)
功能:将任何英文文本的日期时间描述解析为 Unix 时间戳,也可以是2010-01-01 12:21:22这种形式
参数:要转化的时期
返回值:整型值
如果是想得到当前时间的时间戳可以用time()
想要获得某个时间戳的时间可以用date(),该函数默认当前时间的戳!
date("Y-m-d H:i:s",$stamptime)
功能:格式化一个本地时间/日期
参数:第一个是时间格式字符串(上面是一个例子,还有许多的格式字符),第二个是时间戳
返回值:时间字符串
好了,应该够用!
祝你成功!
这里有,datediff
>
这是时区设置的问题
看看PHP手册的“例子 1 date() 例子”第一行多了一个 时区设置
// 设定要用的默认时区。自 PHP 51 可用
date_default_timezone_set(’UTC’);
原来php51开始,phpini里加入了datetimezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和北京时间正好差8个小时。
如何设置可以得到正确的PHP时间。
1、修改phpini。打开phpini查找datetimezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改phpini,那就奈何不得了。
2、在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置,我的推荐。
时区标识符,大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
这样就可以实现输出的是北京时间了更详细的时区代码 时区编码 时区索引码 timezone_identifier 大家可以在官方网站中查到
PHP默认时区设置是会导致时间误差的,你在运行这些函数之前,先调用一个函数即可:
date_default_timezone_set('Etc/GMT-8');
这个时区误差只是在时间上的误差,日期误差一般不大,所以你输出的年,月,日都是相同的。
$time1 = '时间1'; // 这里是时间戳
$time2 = '时间2'; // 时间2的时间戳
$year1 = date("Y",$time1); // 时间1的年份
$month1 = date("m",$time1); // 时间1的月份
$year2 = date("Y",$time2); // 时间2的年份
$month2 = date("m",$time2); // 时间2的月份
// 接下来先算年份相差几年在乘以12,再算月份相差几月,两个一加就好了。
以上就是关于php时间差(天时分)全部的内容,包括:php时间差(天时分)、php 如何计算两个时间相差几分钟,几小时,几天,就像论坛里面的那种、为什么我在php中用date()函数获取的时间老师与我电脑上显示的差8小时等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)