時間計算

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