2012-12-20 195 views
1

這都讓我瘋狂在這裏。時差計算

$now = time();現在給我的時間戳。

問:

不:$today = strtotime(date("Y-m-d"));給我今天的秒時間戳?從00:00開始?

我一直試圖通過減去$now來減去$today以來的總秒數,但我得到了一個完全不同的數額。

編輯

即時得到今天:

1355961600

現在來看:

1356002627(+ 1秒每一秒,因爲我已經張貼了這個)

由於差異非常小,我認爲應該是這樣,但是當我試圖計算自己時,我得不到相同的金額。可能是我的本地時間和實時在這裏的區別......你們認爲這是它嗎?

+1

你得到的「不同數額」是多少? –

+1

您是否試圖計算自一天開始以來的秒數? – James

+0

是的,這正是即時通訊 –

回答

1

(它現在是12:15這裏):

php > echo time() - strtotime(date("Y-m-d")); 
44116 
php > echo 44116/3600; 
12.254444444444 

PHP 5.3.10,在Ubuntu 12.04

time()將給從Unix紀元(1970年1月1日00秒:00:00 UTC)直到「現在」。 strtotime(date("Y-m-d"))將給出從Unix紀元到今天早上00:00:00的秒數。減去這些,你會得到今天的秒數。

1

它會給出從1970年1月1日00:00:00 UTC到今天(當前時間)以來的秒數。

編輯:看看Bart Friederichs的答案,兩個函數都做別的事情。

+0

我注意到:P但我認爲這是正確的代碼從1970年1月1日00:00:00 UTC直到今天的日期 –

+0

對不起,犯了一個小錯誤。時間:「返回自Unix紀元(1970年1月1日00:00:00 GMT)以來秒數的當前時間。」另一個功能:http://php.net/manual/en/function.strtotime.php。 – Laurence

1

您的字符串$today正在爲您提供來自Y-m-d的時間戳,而不是Y-m-d,H:i:s。

如果你想計算從今天早上過去的秒數,比如8點鐘。

$iNow = time(); 
$iFrom = strtotime(date('20-12-2012, 08:00:00')); 

echo $iFrom - $iNow . ' seconds have past.';