fork download
  1. <?php
  2.  
  3. $str = "2019-05-13T10:00:00.000Z";
  4. var_dump(DateTime::createFromFormat('Y-m-d\TH:i:s.uO', $str));
  5. var_dump(DateTime::createFromFormat('Y-m-d\TH:i:s.uP', $str));
  6. var_dump(DateTime::createFromFormat('Y-m-d\TH:i:s.uT', $str));
  7.  
  8. $str = "2019-05-13T10:00:00.000+01:00";
  9. var_dump(DateTime::createFromFormat('Y-m-d\TH:i:s.uO', $str));
  10. var_dump(DateTime::createFromFormat('Y-m-d\TH:i:s.uP', $str));
  11. var_dump(DateTime::createFromFormat('Y-m-d\TH:i:s.uT', $str));
  12.  
  13. // diferença entre O, P e T se dá na formatação
  14.  
  15. $d = new DateTime("2019-05-13T10:00:00.000Z");
  16. echo $d->format('O, P, T') . "\n";
  17. $d = new DateTime("2019-05-13T10:00:00.000-03:00");
  18. echo $d->format('O, P, T') . "\n";
Success #stdin #stdout 0s 82624KB
stdin
Standard input is empty
stdout
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2019-05-13 10:00:00.000000"
  ["timezone_type"]=>
  int(2)
  ["timezone"]=>
  string(1) "Z"
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2019-05-13 10:00:00.000000"
  ["timezone_type"]=>
  int(2)
  ["timezone"]=>
  string(1) "Z"
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2019-05-13 10:00:00.000000"
  ["timezone_type"]=>
  int(2)
  ["timezone"]=>
  string(1) "Z"
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2019-05-13 10:00:00.000000"
  ["timezone_type"]=>
  int(1)
  ["timezone"]=>
  string(6) "+01:00"
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2019-05-13 10:00:00.000000"
  ["timezone_type"]=>
  int(1)
  ["timezone"]=>
  string(6) "+01:00"
}
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2019-05-13 10:00:00.000000"
  ["timezone_type"]=>
  int(1)
  ["timezone"]=>
  string(6) "+01:00"
}
+0000, +00:00, Z
-0300, -03:00, GMT-0300