簡體   English   中英

PHP 轉換時間 strtotime 對我來說工作不正確

[英]PHP convert time strtotime working incorrect for me

我需要轉換時間,使用PHP strtotime 函數。

時間有以下格式

$date1 = 12:10:00
$date2 = 00:10:00
echo date( 'Y:m:d h:i:s', strtotime( $date1 )); // 12:10:00
echo date( 'Y:m:d h:i:s', strtotime( $date2 )); // 12:10:00

我如何識別是時間 00:10 或 12:10

感謝幫助!

如果您查看date reference ,小寫的h是 12 小時格式的小時。 你需要一個大寫的H

echo date( 'Y:m:d H:i:s', strtotime( $date1 )); // 12:10:00
echo date( 'Y:m:d H:i:s', strtotime( $date2 )); // 00:10:00

FWIW:你的時間變量應該是字符串,帶引號。:

$date1 = "12:10:00";
$date2 = "00:10:00";

您可以使用 AM 或 PM 來檢查差異,或者使用 24 小時格式導致 0 和 12 相同,表示時間不同是上午還是下午

$date1 = '12:10:00';
$date2 = '00:10:00';
echo date( 'Y:m:d h:i:s A', strtotime( $date1 )); // 2014:04:16 12:10:00 PM
echo date( 'Y:m:d h:i:s A', strtotime( $date2 )); // 2014:04:16 12:10:00 AM 

或使用大寫H

echo date( 'Y:m:d H:i:s', strtotime( $date1 )); // 12:10:00
echo date( 'Y:m:d H:i:s', strtotime( $date2 )); // 00:10:00

h“帶前導零的小時的 12 小時格式,01 到 12”
您需要H ,即 00 到 23。請參閱http://php.net/date

在日期格式中, h是 12 小時。 為了區分您可以使用G或者你可以用加上午或下午a

IE

echo date( 'Y:m:d G:i:s', strtotime( $date1 ));
echo date( 'Y:m:d G:i:s', strtotime( $date2 ));

echo date( 'Y:m:d h:i:s a', strtotime( $date1 ));
echo date( 'Y:m:d h:i:s a', strtotime( $date2 ));
$date = new DateTime('2000-01-01');
$result = $date->format('Y-m-d H:i:s');

使用 24 小時制!

$date1 = 12:10:00
$date2 = 00:10:00
echo date( 'Y:m:d H:i:s', strtotime( $date1 ));
echo date( 'Y:m:d H:i:s', strtotime( $date2 ));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM