IntlCalendar::getSkippedWallTimeOption

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

IntlCalendar::getSkippedWallTimeOptionObtener el comportamiento para tratar horas omitidas

Descripción

Estilo orientado a objetos

public IntlCalendar::getSkippedWallTimeOption ( void ) : int

Estilo por procedimientos

intlcal_get_skipped_wall_time_option ( IntlCalendar $cal ) : int

Obtiene la estrategia actual para tratar con horas omitidassiempre que el reloj se adelante durante las transiciones del inicio del horario de verano (DST). El valor predeterminado es IntlCalendar::WALLTIME_LAST.

El calendario debe ser tolerante para que esta opción tenga efecto, si no, el intento de establecer un instante no existente provocará un error.

Esta función requiere ICU 4.9 o posterior.

Parámetros

cal

El recurso IntlCalendar.

Valores devueltos

Una de las constantes IntlCalendar::WALLTIME_FIRST, IntlCalendar::WALLTIME_LAST o IntlCalendar::WALLTIME_NEXT_VALID.

Ejemplos

Ejemplo #1 IntlCalendar::getSkippedWallTimeOption()

<?php
ini_set
('date.timezone''Europe/Lisbon');
ini_set('intl.default_locale''en_US');
ini_set('intl.error_level'E_WARNING);

// El 31 de marzo a las 0100, el reloj se adelanta 1 hora y se cambia de GMT+00 a GMT+01
$cal = new IntlGregorianCalendar(2013/* March */31130);

var_dump(
    
$cal->isLenient(),               // true
    
$cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST
);

$formateador IntlDateFormatter::create(
    
NULL,
    
IntlDateFormatter::FULL,
    
IntlDateFormatter::FULL,
    
'UTC'
);
var_dump($formateador->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getSkippedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY1);

var_dump($formateador->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID);
var_dump($cal->getSkippedWalltimeOption()); // 2 WALLTIME_NEXT_VALID
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY1);

var_dump($formateador->format($cal->getTime() / 1000));

El resultado del ejemplo sería:

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"

Ver también