2012-03-01 122 views
0

我想在PHP中將時間戳字符串轉換爲日期。我有以下代碼時間戳字符串到PHP中的日期字符串

date_default_timezone_set('Asia/Calcutta'); 
$time = (int)$_POST['timestamp']; 
$timeString = date('H:i:s',$time); 

Howevever,我總是得到TIMESTRING爲8時44分07秒不管。我認爲時間戳大於32位整數可以存儲的時間戳,可能這就是爲什麼這個轉換總是給整數默認的最大值。

如何在PHP中創建一個64位整數?我有一臺64位的機器和64位的Windows 7在上面運行。 有沒有更好的方法將時間戳字符串轉換爲本地時間?

編輯: 時間戳作爲一個字符串被髮送的JavaScript - 「1330582437883」

+2

'$ time'的價值是什麼? – 2012-03-01 06:01:48

+0

請顯示一些示例值和您期望的結果。 – deceze 2012-03-01 06:02:38

+0

你的看法是錯誤的,你不需要一個64位的UNIX時間戳,這將是未來幾年可笑的一段時間。什麼是var_dump($ _POST ['timestamp']);' – nickb 2012-03-01 06:02:53

回答

6

我完全沒有根據的刺進黑暗:

時間戳值從Javascript來。 Javascript以毫秒爲單位測量時間戳,而不是像PHP一樣的秒數。所以這個值比PHP所期望的大1000倍。在將值發送給PHP之前,將該值除以1000。或者做那個服務器端,你可能必須使用bcdiv來獲得一個精確的值。

+0

您的無根刺刺非常有用! – kaustubh 2012-03-01 06:17:58

+1

我是好還是什麼? ; O) – deceze 2012-03-01 06:30:05