DateTime_createFromImmutable-002.phpt 785 B

1234567891011121314151617181920212223242526272829303132333435
  1. --TEST--
  2. Tests for inherited DateTime::createFromImmutable
  3. --INI--
  4. date.timezone=Europe/London
  5. --FILE--
  6. <?php
  7. class MyDateTime extends DateTime {}
  8. $current = "2014-03-02 16:24:08";
  9. $i = date_create_immutable( $current );
  10. $m = MyDateTime::createFromImmutable( $i );
  11. var_dump( $m );
  12. $m->modify('+ 1 hour');
  13. var_dump( $i->format('Y-m-d H:i:s') === $current );
  14. try {
  15. MyDateTime::createFromImmutable( date_create( $current ) );
  16. } catch (TypeError $e) {
  17. echo $e->getMessage(), "\n";
  18. }
  19. ?>
  20. --EXPECTF--
  21. object(MyDateTime)#%d (3) {
  22. ["date"]=>
  23. string(26) "2014-03-02 16:24:08.000000"
  24. ["timezone_type"]=>
  25. int(3)
  26. ["timezone"]=>
  27. string(13) "Europe/London"
  28. }
  29. bool(true)
  30. DateTime::createFromImmutable(): Argument #1 ($object) must be of type DateTimeImmutable, DateTime given