2015-06-06 81 views
-1

如何从毫秒获得24小时格式日期(小时和分钟)?PHP - 毫秒到小时:分钟(24小时日期)

我得到了这个毫秒值:1433630097855

我希望它打印出来以小时/分钟的时间。 我不记得什么时候,是的,但我认为这是周围00:45

所以应该打印出像:00:45

如果是3点钟在下午,它应该打印出像: 15:25

我找不到这种转换为24小时格式时,它的00:XX我尝试了一些,但它打印出只是“0”

像:

0:10

我想让它像00:开始。

是否有一个快速的命令,这已经在PHP或我需要一些功能?

+0

PHP的[DATETIME](http://php.net/manual/en/datetime.format.php)提供的日期和时间格式 –

+0

你应该会看到放入系统选项的整个范围线程: - http://stackoverflow.com/questions/557959/php-convert-milliseconds-to-date - http://stackoverflow.com/questions/17909871/getting-date-format-mdy-his-毫秒毫秒 – Akimoto

+0

假设从格林威治标准时间1-1-1970 00:00:00开始毫秒,'$ var = DateTime :: createFromFormat('U',intval(1433630097855/1000)); echo $ var-> format('H:i:s');'今天给出'22:34:57' –

回答

1

转换毫秒到几秒1433630097855/1000,然后只用在你所熟悉的日期时间函数秒(整数时间戳)。并且不要忘记timezone

$ms = 1433630097855; 
$s = floor($ms/1000); 
echo date('H:i:s', $s); # 22:34:57 

demo

如果您想为其他时区的输出,将其设置:

date_default_timezone_set('America/Los_Angeles'); 
echo date('H:i:s', $s); # 15:34:57 

demo

你甚至可以使用DateTime class,如:

$dt = new DateTime("@$s"); 
$dt->setTimeZone(new DateTimeZone('America/Los_Angeles')); 
echo $dt->format('H:i:s'); # 15:34:57 

demo

+0

很好的解决方案,但它只能工作最长24小时:( – kkochanski

+0

@DaVilchi:true,这是OP所需要的。还有几天,请使用[this](http://stackoverflow.com/a/19680778/67332)。 –

相关问题