在线文档教程
PHP
Internationalization

IntlCalendar::getSkippedWallTimeOption

IntlCalendar::getSkippedWallTimeOption

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time

Description

Object oriented style

public int IntlCalendar::getSkippedWallTimeOption ( void )

Procedural style

int intlcal_get_skipped_wall_time_option ( IntlCalendar $cal )

Gets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

This function requires ICU 4.9 or later.

Parameters

cal

The IntlCalendar resource.

Return Values

One of the constants IntlCalendar::WALLTIME_FIRST, IntlCalendar::WALLTIME_LAST or IntlCalendar::WALLTIME_NEXT_VALID.

Examples

Example #1 IntlCalendar::getSkippedWallTimeOption()

<?php ini_set('date.timezone', 'Europe/Lisbon' ini_set('intl.default_locale', 'en_US' ini_set('intl.error_level', E_WARNING //On March 31st at 0100, the clock goes forward 1 hour and from GMT+00 to GMT+01 $cal = new IntlGregorianCalendar(2013, 2 /* March */, 31, 1, 30 var_dump(     $cal->isLenient(),               // true     $cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST $formatter = IntlDateFormatter::create(     NULL,     IntlDateFormatter::FULL,     IntlDateFormatter::FULL,     'UTC' var_dump($formatter->format($cal->getTime() / 1000) $cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST var_dump($cal->getSkippedWalltimeOption() // 1 WALLTIME_FIRST $cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1 var_dump($formatter->format($cal->getTime() / 1000) $cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID var_dump($cal->getSkippedWalltimeOption() // 2 WALLTIME_NEXT_VALID $cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1 var_dump($formatter->format($cal->getTime() / 1000)

The above example will output:

bool(true) int(0) string(40) "Sunday, March 31, 2013 at 1:30:00 AM GMT" int(1) string(41) "Sunday, March 31, 2013 at 12:30:00 AM GMT" int(2) string(40) "Sunday, March 31, 2013 at 1:00:00 AM GMT"

See Also

  • IntlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time

  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions

  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions

← IntlCalendar::getRepeatedWallTimeOption

IntlCalendar::getTime →

© 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

https://secure.php.net/manual/en/intlcalendar.getskippedwalltimeoption.php