2012-03-01 125 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