Convert date time from zulu format: Difference between revisions
Jump to navigation
Jump to search
(Created page with "Convert date time from T Z format (ISO 8601 format, Z(ulu) time) e.g. {{kbd |key=2020-05-08T10:01:45Z}} or {{kbd |key=2020-05-06T22:48:51.660Z}} == PHP approach == Coordinate...") |
mNo edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Convert date time from | Convert date time from Zulu format ([https://en.wikipedia.org/wiki/ISO_8601 ISO 8601]) or convert date time to Zulu format | ||
== PHP approach == | == Convert date time from Zulu format == | ||
Convert date time from T Z format (ISO 8601 format<ref>[https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 - Wikipedia]</ref>; Zulu time format<ref>[https://greenwichmeantime.com/articles/history/zulu/ Zulu Time | GMT]</ref>) e.g. {{kbd |key={{Template:Today}}T10:01:45Z}} or {{kbd |key={{Template:Today}}T22:48:51.660Z}} | |||
=== PHP approach === | |||
Coordinated Universal Time (UTC) | Coordinated Universal Time (UTC) | ||
<pre> | <pre> | ||
Line 8: | Line 11: | ||
</pre> | </pre> | ||
{{exclaim}} The returned result is server timezone dependent if you | {{exclaim}} The returned result is server timezone dependent if you set the timezone using [https://www.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set]. | ||
<pre> | <pre> | ||
date_default_timezone_set("Asia/Taipei"); | date_default_timezone_set("Asia/Taipei"); | ||
Line 15: | Line 18: | ||
</pre> | </pre> | ||
== MySQL approach == | === MySQL approach === | ||
Coordinated Universal Time (UTC) | Coordinated Universal Time (UTC) | ||
<pre> | <pre> | ||
Line 34: | Line 37: | ||
</pre> | </pre> | ||
== Convert date time to Zulu format == | |||
=== PHP approach === | |||
<pre> | |||
// 指定時間 | |||
$dateTimeString = "2023-04-26 19:01:23"; | |||
// 特定時區的 identifier (識別符,例如 UTC+8) | |||
$timeZoneIdentifier = 'Asia/Taipei'; // 'Asia/Taipei' 是 UTC+8 的其中一個時區識別符 | |||
// 建立 DateTimeZone 物件,指定時區 | |||
$timeZone = new DateTimeZone($timeZoneIdentifier); | |||
// 建立 DateTime 物件,解析日期時間字串,並設置時區 | |||
$dateTime = new DateTime($dateTimeString, $timeZone); | |||
// 將 DateTime 物件的時區設置為 UTC | |||
$dateTime->setTimezone(new DateTimeZone('UTC')); | |||
// 格式化日期時間為 Zulu 時間格式並輸出 | |||
echo $dateTime->format('Y-m-d\TH:i:s.000\Z'); | |||
// 輸出:2023-04-26T11:01:23Z | |||
</pre> | |||
== References == | == References == | ||
<references /> | |||
== Further readings == | |||
* [https://stackoverflow.com/questions/15902464/format-of-2013-04-09t100000z-in-php Format of 2013-04-09T10:00:00Z in php - Stack Overflow] | * [https://stackoverflow.com/questions/15902464/format-of-2013-04-09t100000z-in-php Format of 2013-04-09T10:00:00Z in php - Stack Overflow] | ||
* [https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to-date STR_TO_DATE(str,format)] | * [https://stackoverflow.com/questions/44802061/convert-string-to-datetime-in-my-sql mysql - convert string to datetime in my sql - Stack Overflow] | ||
* [https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format DATE_FORMAT(date,format)] | * MySQL [https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to-date STR_TO_DATE(str,format)] | ||
* MySQL [https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-format DATE_FORMAT(date,format)] | |||
* PHP [https://www.php.net/manual/en/function.date-default-timezone-set.php PHP: date_default_timezone_set - Manual] | |||
[[Category:PHP]] | [[Category:PHP]] |
Latest revision as of 10:57, 27 April 2023
Convert date time from Zulu format (ISO 8601) or convert date time to Zulu format
Convert date time from Zulu format[edit]
Convert date time from T Z format (ISO 8601 format[1]; Zulu time format[2]) e.g. 2024-05-19T10:01:45Z or 2024-05-19T22: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
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
Convert date time to Zulu format[edit]
PHP approach[edit]
// 指定時間 $dateTimeString = "2023-04-26 19:01:23"; // 特定時區的 identifier (識別符,例如 UTC+8) $timeZoneIdentifier = 'Asia/Taipei'; // 'Asia/Taipei' 是 UTC+8 的其中一個時區識別符 // 建立 DateTimeZone 物件,指定時區 $timeZone = new DateTimeZone($timeZoneIdentifier); // 建立 DateTime 物件,解析日期時間字串,並設置時區 $dateTime = new DateTime($dateTimeString, $timeZone); // 將 DateTime 物件的時區設置為 UTC $dateTime->setTimezone(new DateTimeZone('UTC')); // 格式化日期時間為 Zulu 時間格式並輸出 echo $dateTime->format('Y-m-d\TH:i:s.000\Z'); // 輸出:2023-04-26T11:01:23Z