2015-06-06 80 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)。 –

相關問題