时间计算

Home Home
引用 | 编辑 雪萤
2006-02-17 00:06
楼主
推文 x0
echo date("Y-m-d H:i:s",strtotime("+3 hours"));
结果是
2006-02-17 03:00:00
为甚么不是2006-02-17 22:23的呢??

献花 x0
引用 | 编辑 雪萤
2006-02-18 01:50
1楼
  
有没有人可以解答喔 表情

献花 x0
引用 | 编辑 xxxzzz
2006-02-18 12:17
2楼
  
下面是引用雪萤于2006-02-17 00:06发表的 时间计算:
echo date("Y-m-d H:i:s",strtotime("+3 hours"));
结果是
2006-02-17 03:00:00
为甚么不是2006-02-17 22:23的呢??

我有点看不懂您的意思
如果不要秒?...那就不要加 s ....

系统时间
2006-02-18 12:36

执行
echo date("Y-m-d H:i",strtotime("+3 hours"));
得到
2006-02-18 15:36

献花 x0
引用 | 编辑 雪萤
2006-02-18 15:27
3楼
  
咦@@
为甚么我仍会是00呢?
2006-02-18 15:35
echo date("Y-m-d H:i",strtotime("+3 hours"));
得到
2006-02-18 15:00
为甚么会这样呢??

献花 x0
引用 | 编辑 xxxzzz
2006-02-18 16:12
4楼
  
那真的蛮神奇的...我这边测试是可以...
系统是linux+apche+php

我觉得你可以先试试
echo date("Y-m-d H:i");

echo strtotime("+3 hours");
看这两个函式的结果有没有正确输出...

献花 x0
引用 | 编辑 雪萤
2006-02-18 23:26
5楼
  
我是winxp+apache

echo date("Y-m-d H:i");
结果是
2006-02-18 23:23

echo strtotime("+3 hours");
结果是
1140202800

献花 x0
引用 | 编辑 xxxzzz
2006-02-19 14:28
6楼
  
那真的是蛮奇怪的
如果您系统时间是
2006-02-18 23:23

echo strtotime("+3 hours");
不会是1140202800
因为1140202800是2006-02-18 03:00

所以基本上strtotime出来的结果就怪怪的...

您可以试试
echo date("Y-m-d H:i",随便给个适当的数字);
看出来结果会不会也怪怪的
例如
echo date("Y-m-d H:i",1140276180);
结果应该是2006-02-18 23:23

不过也只能知道哪里怪怪的...应该是系统差别造成的吧
我也不会解决... 表情

献花 x0
引用 | 编辑 雪萤
2006-02-20 00:47
7楼
  
没关系~~
谢谢大大的解答~

献花 x0
引用 | 编辑 shan5959
2006-02-20 03:23
8楼
  
你是使用php 5.1.1之后的版本吗?
如果是的话要在php.ini中设定时区,才能取得正确时间

献花 x0
引用 | 编辑 雪萤
2006-02-20 16:32
9楼
  
我是用php 5.0.1
那用不用设定时区呢?

献花 x0
引用 | 编辑 bebo628
2006-02-26 02:16
10楼
  
下面是引用雪萤于2006-02-20 16:32发表的 :
我是用php 5.0.1
那用不用设定时区呢?

http://www.php5.idv.tw/modules.php?mod=books&act=show&shid=137

我刚刚用这个
<?php
echo strtotime("+3 hours") - strtotime("now");
?>

用出来的是10800 你在除以60秒60分就等于3
会不会是你写的程式只支援LINUX的 XP不支援 因为我的是XP LINUX在学校还没测试过
所以这是我的猜测
不知对不对

献花 x0