当前位置: 首页>>代码示例>>PHP>>正文


PHP DrupalDateTime::getTimezone方法代码示例

本文整理汇总了PHP中Drupal\Core\Datetime\DrupalDateTime::getTimezone方法的典型用法代码示例。如果您正苦于以下问题:PHP DrupalDateTime::getTimezone方法的具体用法?PHP DrupalDateTime::getTimezone怎么用?PHP DrupalDateTime::getTimezone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Drupal\Core\Datetime\DrupalDateTime的用法示例。


在下文中一共展示了DrupalDateTime::getTimezone方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testDateTimezone

 /**
  * Test that DrupalDateTime can detect the right timezone to use.
  * Test with a variety of less commonly used timezone names to
  * help ensure that the system timezone will be different than the
  * stated timezones.
  */
 public function testDateTimezone()
 {
     global $user;
     $date_string = '2007-01-31 21:00:00';
     // Make sure no site timezone has been set.
     \Drupal::config('system.date')->set('timezone.user.configurable', 0)->set('timezone.default', NULL)->save();
     // Detect the system timezone.
     $system_timezone = date_default_timezone_get();
     // Create a date object with an unspecified timezone, which should
     // end up using the system timezone.
     $date = new DrupalDateTime($date_string);
     $timezone = $date->getTimezone()->getName();
     $this->assertTrue($timezone == $system_timezone, 'DrupalDateTime uses the system timezone when there is no site timezone.');
     // Create a date object with a specified timezone.
     $date = new DrupalDateTime($date_string, 'America/Yellowknife');
     $timezone = $date->getTimezone()->getName();
     $this->assertTrue($timezone == 'America/Yellowknife', 'DrupalDateTime uses the specified timezone if provided.');
     // Set a site timezone.
     \Drupal::config('system.date')->set('timezone.default', 'Europe/Warsaw')->save();
     // Create a date object with an unspecified timezone, which should
     // end up using the site timezone.
     $date = new DrupalDateTime($date_string);
     $timezone = $date->getTimezone()->getName();
     $this->assertTrue($timezone == 'Europe/Warsaw', 'DrupalDateTime uses the site timezone if provided.');
     // Create user.
     \Drupal::config('system.date')->set('timezone.user.configurable', 1)->save();
     $test_user = $this->drupalCreateUser(array());
     $this->drupalLogin($test_user);
     // Set up the user with a different timezone than the site.
     $edit = array('mail' => $test_user->getEmail(), 'timezone' => 'Asia/Manila');
     $this->drupalPostForm('user/' . $test_user->id() . '/edit', $edit, t('Save'));
     // Disable session saving as we are about to modify the global $user.
     \Drupal::service('session_manager')->disable();
     // Save the original user and then replace it with the test user.
     $real_user = $user;
     $user = user_load($test_user->id(), TRUE);
     // Simulate a Drupal bootstrap with the logged-in user.
     date_default_timezone_set(drupal_get_user_timezone());
     // Create a date object with an unspecified timezone, which should
     // end up using the user timezone.
     $date = new DrupalDateTime($date_string);
     $timezone = $date->getTimezone()->getName();
     $this->assertTrue($timezone == 'Asia/Manila', 'DrupalDateTime uses the user timezone, if configurable timezones are used and it is set.');
     // Restore the original user, and enable session saving.
     $user = $real_user;
     // Restore default time zone.
     date_default_timezone_set(drupal_get_user_timezone());
     \Drupal::service('session_manager')->enable();
 }
开发者ID:anatalsceo,项目名称:en-classe,代码行数:55,代码来源:DrupalDateTimeTest.php

示例2: testDateTimezone

 /**
  * Test that DrupalDateTime can detect the right timezone to use.
  * Test with a variety of less commonly used timezone names to
  * help ensure that the system timezone will be different than the
  * stated timezones.
  */
 public function testDateTimezone()
 {
     $date_string = '2007-01-31 21:00:00';
     // Make sure no site timezone has been set.
     $this->config('system.date')->set('timezone.user.configurable', 0)->set('timezone.default', NULL)->save();
     // Detect the system timezone.
     $system_timezone = date_default_timezone_get();
     // Create a date object with an unspecified timezone, which should
     // end up using the system timezone.
     $date = new DrupalDateTime($date_string);
     $timezone = $date->getTimezone()->getName();
     $this->assertTrue($timezone == $system_timezone, 'DrupalDateTime uses the system timezone when there is no site timezone.');
     // Create a date object with a specified timezone.
     $date = new DrupalDateTime($date_string, 'America/Yellowknife');
     $timezone = $date->getTimezone()->getName();
     $this->assertTrue($timezone == 'America/Yellowknife', 'DrupalDateTime uses the specified timezone if provided.');
     // Set a site timezone.
     $this->config('system.date')->set('timezone.default', 'Europe/Warsaw')->save();
     // Create a date object with an unspecified timezone, which should
     // end up using the site timezone.
     $date = new DrupalDateTime($date_string);
     $timezone = $date->getTimezone()->getName();
     $this->assertTrue($timezone == 'Europe/Warsaw', 'DrupalDateTime uses the site timezone if provided.');
     // Create user.
     $this->config('system.date')->set('timezone.user.configurable', 1)->save();
     $test_user = $this->drupalCreateUser(array());
     $this->drupalLogin($test_user);
     // Set up the user with a different timezone than the site.
     $edit = array('mail' => $test_user->getEmail(), 'timezone' => 'Asia/Manila');
     $this->drupalPostForm('user/' . $test_user->id() . '/edit', $edit, t('Save'));
     // Reload the user and reset the timezone in AccountProxy::setAccount().
     \Drupal::entityManager()->getStorage('user')->resetCache();
     $this->container->get('current_user')->setAccount(User::load($test_user->id()));
     // Create a date object with an unspecified timezone, which should
     // end up using the user timezone.
     $date = new DrupalDateTime($date_string);
     $timezone = $date->getTimezone()->getName();
     $this->assertTrue($timezone == 'Asia/Manila', 'DrupalDateTime uses the user timezone, if configurable timezones are used and it is set.');
 }
开发者ID:nstielau,项目名称:drops-8,代码行数:45,代码来源:DrupalDateTimeTest.php


注:本文中的Drupal\Core\Datetime\DrupalDateTime::getTimezone方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。