首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

代码语言:javascript
复制
public int IntlCalendar::getSkippedWallTimeOption ( void )

Procedural style

代码语言:javascript
复制
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()

代码语言:javascript
复制
<?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:

代码语言:javascript
复制
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 →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com