邪罗刹的菠萝阁


> 以前试过用 TXT Excel Wiki BBS 等方式来分类管理一些资料与代码,结果发现到最后全部都乱糟糟的。
> 然后为如何有效管理资料纠结了半天,而且最近蛮忙的,所以半夜才来了一篇新文章。╮( ̄▽ ̄")╭。

一. 杯具的VPS时间:

<?php echo time(); ?>
//小邪先是在VPS上面显示时间,接着到本机上用 date 函数转换为标准日期,看到结果吓了一跳

-bash-3.2# date
Thu Jul 8 04:03:59 CST 2010
//呵呵,话说接着小邪就在 SSH 里面用 date 命令输出了当时的 VPS 时间

2010-07-07 20:03:59
//结果当时就震精了 ( ⊙o⊙ ),因为当时小邪电脑的时间如上,重点是,小邪的电脑时间是 +8 时区的
//结果这个时间比小邪的电脑还要快 8 个小时,难道地球上有 +16 时区的地方??!!

//后来找了管理员沟通,才发现是机房工作人员装机时候设置出了问题,囧 ~

二. 对 Time() 的误解:

> 关于蛋疼的 Time() 函数,呜呜呜呜,杯具,小邪一直以为这个东西显示的是GMT秒数,结果杯具了。

<?php echo time(); ?>
//如上的代码是输出一个unix时间戳,即从1970年1月1日起经过的秒数

<?php echo date('Y-m-d H:i:s',time()); ?>
//但是小邪用这样的函数把秒数转换为日期,类似于 2010-07-27 21:20:00 这样
//却发现出现的时间和我电脑显示的时间差了8小时,我的电脑时区是+8的

<?php echo date('Y-m-d H:i:s',time()+(8*3600)); ?>
//即如此这样才能获得+8时区的标准日期时间

//结论,time() 提供的是 gmt 秒数,但是,这是一个误解

> 上面的测试是在本机的 Phpnow 下测试的,结果这个结论误导了小邪,因为 Phpnow 的设定很是怪异。

//现在我们到 LinuxVPS 的 Nginx 下面测试

<?php echo date('Y-m-d H:i:s',time()); ?>
//很好,出现的时间和我的电脑分毫不差,因为我的VPS上面的时区设置的就是北京时间

//结论,time() 提供的是服务器或者VPS子机的本地时间,该时间按照管理员的时区设定变动

//也就是说一般的国外服务商提供的 VPS 都是使用其服务器所在地的当地时间
//而国内服务商提供的国外或者国内 VPS 可能会用北京时间,具体应该向管理员咨询或自行测试

> ╮( ̄▽ ̄")╭,真是灰常折腾人的一件事情,所以小邪打算尽量不再使用 time() 函数,直接用GMT。

<?php echo gmmktime(); ?>
//使用 gmmktime() 函数,就可以显示一个 GMT 的 Unix 时间戳了,接着再进行时差校正即可

三. 后记:

> 嘿嘿,很开心,今天收到了《魔兽世界:大灾变》资料片的 Beta 测试邀请,准备登录大漩涡,吼吼

> 有玩魔兽世界的盆友路过么?o(*≧▽≦)ツ,蛮好奇小邪的读者里面有木有玩魔兽世界的,嘿嘿嘿嘿。

Leave a comment
54 Comments.
  1. lifishake Mozilla Firefox Windows 坐沙发!#1

    +16显然是重复计算了

    @
  2. 久酷 Mozilla Firefox Windows 坐板凳!#2

    魔兽咱不会玩,哈哈……我火星了

    @
  3. Skyoy Mozilla Firefox Windows 躺地板!#3

    :razz: WOW爱好者。

    @
  4. hzlzh Mozilla Firefox Windows 天花板!#4

    又想试试wp_syntax了,不知道后台杯具不,能不能解决

    @
  5. QiQiBoY Mozilla Firefox Windows 下水道!#5

    最后那封邮件即使发给我,我也会当垃圾邮件一样不看一眼便丢进垃圾箱。。因为我看不懂。。。 :evil:

    @
  6. 小松 Mozilla Firefox Windows 地心!#6

    我也一直对这个时间函数很困惑,查了资料看了也还是不清楚~

    @
  7. 木有玩魔兽的..

    @
  8. 已经不玩魔兽很多年

    @
  9. 其实我很久就知道你vps时间有问题,因为每次发来的回复邮件都是来自未来的,按时间排序每次都会置顶 :exclaim:

    @
  10. 能不能把震精的图片放上来,我膜拜一下。话说,大家有购买SC2的欲望么?

    @
  11. 大灾变... :cry:

    @
  12. 又学习了一点东东 :wink:

    @
  13. 居然CST代表四个地区的时间
    Central Standard Time (USA) UT-6:00
    Central Standard Time (Australia) UT+9:30
    China Standard Time UT+8:00
    Cuba Standard Time UT-4:00

    @
  14. 我喜欢看人家玩WOW,自己不参与……

    @
  15. 不玩游戏

    @
  16. 希望这次魔兽世界不要再次变为难产

    @
  17. 基本不玩网游

    @
  18. 你玩的是哪里的魔兽?怎么付钱啊

    @
  19. 后记是重点~~ :biggrin:

    @
  20. 路过,但是已经不玩了~ :exclaim:

    @
  21. 一直用time()的飘过

    @
  22. 我好像没碰过Wow :exclaim:

    @

Leave a Reply


[ Ctrl + Enter ]