[php]php时间戳当中关于时区的问题
PHP_VERSION = 5.5.11
话说php函数 time() 的起始时间戳是从:GMT 1970-01-01 00:00:00 开始算起的
写了点测试代码:
$gmt1 = strtotime('1970-01-01');
$gmt2 = date('Y-m-d H:i:s',$gmt1);
$gmt3 = strtotime('1970-01-02');
$gmt4 = date('Y-m-d H:i:s',$gmt3);
$gmt5 = strtotime('1970-01-01',$gmt3);
9
echo '<br /><br />--gmt1----<br />';
print_r($gmt1);
echo '<br /><br />--gmt2----<br />';
print_r($gmt2);
echo '<br /><br />--gmt3----<br />';
print_r($gmt3);
echo '<br /><br />--gmt4----<br />';
print_r($gmt4);
18 echo '<br /><br />--gmt5----<br />';
19 print_r($gmt5);
运算结果为:
--gmt1----
-28800--gmt2----
1970-01-01 00:00:00--gmt3----
57600--gmt4----
1970-01-02 00:00:00--gmt5----
-28800
为什么 GMT 1970-01-01 00:00:00 的时间戳是 -28800呢?
我相信一定会有人和我一样的去抠这种细节,答案来了,刚测试出来的。
28800/60/60=8小时
因为Apache (php.INI)里面设置了时区: Asia/Shanghai。 --感谢driftcloudy 纠正
所以有8小时时差。^_^
[php]php时间戳当中关于时区的问题的更多相关文章
- 时间戳 时区 java mysql
当一个时间 比如2016年5月6日,生成时间戳.这个运算是与时区有关的.首先得确认这个时间是哪个时区的,然后转换成utc时区的时间.再减去1970,得到的秒数,就是时间戳. 时间戳是个一定的值,他与时 ...
- PHP中时间戳和时区
时间戳 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. 时区 由于世界各国家与地区经度不同,地方时也有所不同,因此 ...
- 关于时区、时间戳引起的bug理解
时间戳定义:0时区1970年1月1日到现在的毫秒数,所以全世界同一时刻的时间戳都是一样的. 北京时间对应时间戳=unix(0时区对应时间的时间戳)-8*60*60*1000(8小时的毫秒数)----- ...
- 坐上JDK8时间SDK的小船,带你遨游UNIX时间戳与时区的小太空~
原文链接:坐上JDK8时间SDK的小船,带你遨游UNIX时间戳与时区的小太空- 一.背景: 最近有一个关于店铺数据实时分析的需求,需要实时统计店铺当天的数据:例如访客数,浏览量.商品排行榜等.由于店铺 ...
- 关于PHP函数time() date() 和 strtotime() 的时区问题
最近项目中有个需求, 要记录新注册用户的次日登录情况, 于是写出了如下代码: $create_time = '用户注册时间'; //格式 Y-m-d H:i:s $time = time(); $la ...
- unix时间戳和localtime
今天看代码的时候看到这么一段 void user::setHelpday() { int time = ::getTickCount(); m_helpday = (time +( * ))/( * ...
- iOS 注册密码加密 添加了时间戳 遇到的问题...
今天项目 遇到一个事故,我本想用 一个形容这个事故的adj 算了 既然 叫事故 已经能表达我们处于的一种状态, 是这样的: 有小部分用户反应 app无法注册 总提示密码错误的情况 实际 该步骤 已经 ...
- [转载]vb 时间戳与时间互转
转自:https://blog.csdn.net/boys1999/article/details/23298415 vb 时间戳与时间互转 2014年04月09日 21:13:47 boys1999 ...
- 时间戳time
时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日开始按秒计算的偏移量(time.gmtime(0))此模块中的函数无法处理1970纪元年以前的时间或太遥远的未来(处理极 ...
随机推荐
- Map集合重要练习
重要练习:将字符串中的字母按如下格式显示: a(1)b(2)...... 代码及思路如下: /* 获取字符串中字母的次数,并打印出如下格式a(1)b(2)c(3)...... 思路: 先定义一个方法, ...
- UVA 246 10-20-30
题意: 给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,如果有牌堆形成了以下3种情况(按顺序判断):1.头两张+尾一张和为10或20或30.2.头一张+尾两张和为10或20或30. ...
- sqlserver 2008 局域网跨服务器T-SQL操作(二)
--判断是否开启远程操作服务,如果关闭,则开启,用完之后关闭 DECLARE @value SQL_VARIANT SELECT @value=VALUE from sys.configuration ...
- ssh框架搭建时报错
java.lang.UnsupportedClassVersionError: com/microsoft/ sqllserver/ jdbc/SQLServerDriver : Unsupport ...
- Oracle数据库按属性成绩查询
create or replace function bb return nvarchar2as-----------自定义游标类型type class_student is record( snam ...
- c# 委托内部构造
以下纯属个人简介,错误之处,请随意指出. 委托是指向方法的,而事件是委托的触发器,执行事件,就会遍历委托里的方法,并且执行. 委托内部构造第一块是方法指针(methodPtr),用于指向方法的内存地址 ...
- ajax读取txt文件
注意url为网络路径 <html><head><script type="text/javascript"> function loadXML ...
- 四条命令搞定mysql主从
一 . 环境准备 先上拓扑图
- mysqli扩展库的 预处理技术 mysqli stmt
问题的提出? 现在需要向mysql数据库添加100个用户,请问如何实现? 思路: 使用for循环100次,向数据库中添加100个用户. 使用批量添加 $sql1=”insert xxx”; $ssql ...
- 管道通信之无名管道---pipe()
pipe()函数在子进程产生之前就应该存在. 父子进程之间只进行一次传递 /*============================================ > Copyright ( ...