function DrupalDateTimeTest::testGetPhpDateTime
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php \Drupal\Tests\Core\Datetime\DrupalDateTimeTest::testGetPhpDateTime()
- 10 core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php \Drupal\Tests\Core\Datetime\DrupalDateTimeTest::testGetPhpDateTime()
- 11.x core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php \Drupal\Tests\Core\Datetime\DrupalDateTimeTest::testGetPhpDateTime()
@covers ::getPhpDateTime
File
-
core/
tests/ Drupal/ Tests/ Core/ Datetime/ DrupalDateTimeTest.php, line 220
Class
- DrupalDateTimeTest
- @coversDefaultClass \Drupal\Core\Datetime\DrupalDateTime @group Datetime
Namespace
Drupal\Tests\Core\DatetimeCode
public function testGetPhpDateTime() {
$new_york = new \DateTimeZone('America/New_York');
$berlin = new \DateTimeZone('Europe/Berlin');
// Test retrieving a cloned copy of the wrapped \DateTime object, and that
// altering it does not change the DrupalDateTime object.
$drupaldatetime = DrupalDateTime::createFromFormat('Y-m-d H:i:s', '2017-07-13 22:40:00', $new_york, [
'langcode' => 'en',
]);
$this->assertEquals(1500000000, $drupaldatetime->getTimestamp());
$this->assertEquals('America/New_York', $drupaldatetime->getTimezone()
->getName());
$datetime = $drupaldatetime->getPhpDateTime();
$this->assertInstanceOf('DateTime', $datetime);
$this->assertEquals(1500000000, $datetime->getTimestamp());
$this->assertEquals('America/New_York', $datetime->getTimezone()
->getName());
$datetime->setTimestamp(1400000000)
->setTimezone($berlin);
$this->assertEquals(1400000000, $datetime->getTimestamp());
$this->assertEquals('Europe/Berlin', $datetime->getTimezone()
->getName());
$this->assertEquals(1500000000, $drupaldatetime->getTimestamp());
$this->assertEquals('America/New_York', $drupaldatetime->getTimezone()
->getName());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.