我想轉換從我得到的回呼原始值中得到的值/日期/時間是這樣的
$value='2021-01-20T19:03:52.355 0300';
我需要把它轉換成這樣
$value='20-01-2021 23.03.52,355000 07:00';
我做了一些 substr 和 concat 但不幸的是它以字串結束,我的 db 資料型別格式是時間戳,我無法將值插入到 db
閱讀一些關于 DateTime::createFromFormat 的內容,我可以轉換時間格式,但仍然沒有轉換到另一個時區的線索
uj5u.com熱心網友回復:
您可以使用setTimezone()
以下方法更改時區:
$value = '2021-01-20T19:03:52.355 0300';
$expected = '20-01-2021 23.03.52,355000 07:00';
$datetime = new \DateTime($value);
$datetime->setTimezone(new \DateTimeZone(' 0700'));
var_dump($datetime->format('d-m-Y H.i.s,u P') == $expected); // bool(true)
uj5u.com熱心網友回復:
你可以這樣做
$datetime = new \DateTime('2021-01-20T19:03:52.355 0300');
date_format($datetime, 'd-m-Y H.i.s,u P');
uj5u.com熱心網友回復:
你可以試試這個代碼,這對你有用,你可以根據需要設定時區。
// Input : '2021-01-20T19:03:52.355 0300';
// Output : '20-01-2021 23.03.52,355000 07:00';
date_default_timezone_set('Europe/London');
$datetime = new DateTime('2021-01-20T19:03:52.355 0300');
// timezone to convert.
$la_time = new DateTimeZone('Asia/Krasnoyarsk');
$datetime->setTimezone($la_time);
echo $datetime->format('d-m-Y H.i.s,u P');
輸出:
20-01-2021 23.03.52,355000 07:00
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/397900.html