Convert date time from t z format

From LemonWiki共筆
Revision as of 18:59, 8 May 2020 by Planetoid (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Convert date time from T Z format (ISO 8601 format[1]; Zulu time format[2]) e.g. 2020-05-08T10:01:45Z or 2020-05-06T22:48:51.660Z

PHP approach[edit]

Coordinated Universal Time (UTC)

echo date('Y-m-d H:i:s', strtotime('2020-05-08T09:59:08Z')) . PHP_EOL;
// returns 2020-05-08 09:59:08

Icon exclaim.gif The returned result is server timezone dependent if you set the timezone using date_default_timezone_set.

date_default_timezone_set("Asia/Taipei");
echo date('Y-m-d H:i:s', strtotime('2020-05-08T09:59:08Z')) . PHP_EOL;
// returns 2020-05-08 17:59:08 

MySQL approach[edit]

Coordinated Universal Time (UTC)

-- case1: end with decimal & Z
SET @myTime := '2020-05-06T22:48:51.660Z';
SELECT str_to_date(@myTime, '%Y-%m-%dT%H:%i:%s.%fZ');
-- returns 2020-05-06 22:48:51.660000


-- case2: not end with decimal & Z
SET @myTime := '2020-05-08T09:59:08Z';
SELECT str_to_date(@myTime, '%Y-%m-%dT%H:%i:%sZ');
-- returns 2020-05-08 09:59:08

SET @myTime := '2020-05-08T09:59:08Z';
SELECT str_to_date(@myTime, '%Y-%m-%dT%H:%i:%s.%fZ');
-- returns null


References[edit]