在串接資料的時候,常常會看到 2018-06-03T08:02:20+08:00 之類的,這些日期格式大多都是有公開標準的,PHP 裡面有將大多數的標準都設定好可以直接使用囉~
PHP 標準化的 RFC、ISO 日期時間格式
由下述可以知道,PHP 提供的固定日期時間格式(ATOM、COOKIE、ISO8601、RFC1036、RSS、W3C)有下述:(參考此頁面:PHP: DateTime - Manual)
- const string DateTimeInterface::ATOM = "Y-m-dTH:i:sP" ;
- const string DateTimeInterface::COOKIE = "l, d-M-Y H:i:s T" ;
- const string DateTimeInterface::ISO8601 = "Y-m-dTH:i:sO" ;
- const string DateTimeInterface::RFC822 = "D, d M y H:i:s O" ;
- const string DateTimeInterface::RFC850 = "l, d-M-y H:i:s T" ;
- const string DateTimeInterface::RFC1036 = "D, d M y H:i:s O" ;
- const string DateTimeInterface::RFC1123 = "D, d M Y H:i:s O" ;
- const string DateTimeInterface::RFC2822 = "D, d M Y H:i:s O" ;
- const string DateTimeInterface::RFC3339 = "Y-m-dTH:i:sP" ;
- const string DateTimeInterface::RFC3339_EXTENDED = "Y-m-dTH:i:s.vP" ;
- const string DateTimeInterface::RSS = "D, d M Y H:i:s O" ;
- const string DateTimeInterface::W3C = "Y-m-dTH:i:sP" ;
要直接使用的話,PHP 的常數在那些前面加上 「DATE_」 即可使用,如下述範例:
- echo date(DATE__RFC2822);
- echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000)); // prints something like: 2000-07-01T00:00:00+00:00
- echo date(DATE_W3C, mktime(0, 0, 0, 7, 1, 2000)); // 2019-05-23T14:44:00+08:00