[英]PHP advanced strtotime convert
我有類似的日期和時間:
12-Oct-13 09:15 PM AEST
10-Oct-13 07:05 PM AEST
我使用了PHP的strtotime()函數,將其轉換為datetime對象,如下所示:
echo $datetime=strtotime('12-Oct-13 09:15 PM AEST');
但是結果卻是空的。 我的想法是將上述日期時間轉換為其他格式,例如:
12-10-2013 09:15 PM
10-10-2013 07:05 PM
任何人都可以幫我正確地轉換為日期時間對象。 然后在我的代碼中使用它。
PHP不支持AEST
時區,因此strtotime()
返回false
。 請參閱支持的TZ的列表 。
您仍然可以將輸入轉換為所需的輸出:
$input = '12-Oct-13 09:15 PM AEST';
$dt = DateTime::createFromFormat('d-M-y H:i A *', $input);
echo $dt->format('d-m-Y h:i A'); # 12-10-2013 09:15 PM
或,由於AEST
時區比UTC
偏移+10:00
,只需將其替換為字符串:
$input = '12-Oct-13 09:15 PM AEST';
$input = str_replace(' AEST', ' +1000', $input);
$dt = new DateTime($input);
print_r($dt);
/*
DateTime Object
(
[date] => 2013-10-12 21:15:00
[timezone_type] => 1
[timezone] => +10:00
)
*/
或者,從字符串中刪除時區部分:
$input = '12-Oct-13 09:15 PM AEST';
$input = substr($input, 0, strrpos($input, ' '));
echo date_create($input)->format('d-m-Y h:i A'); # 12-10-2013 09:15 PM
# or
echo date('d-m-Y h:i A', strtotime($input)); # 12-10-2013 09:15 PM
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.