# IntlCalendar::clear

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

IntlCalendar::clear — Limpiar uno o todos los campos

### Descripción

Estilo orientado a objetos

public IntlCalendar::clear(int `$field` = NULL): bool

Estilo por procedimientos

intlcal_clear(IntlCalendar `$cal`, int `$field` = NULL): bool

Limpia todos los campos o uno específico. Un campo limpiado está marcado como desestablecido, dándole la prioridad más baja en campos traslapados o incluso en valores predeterminados al calcular el instante. Además, su valor se establece a `0`, aunque dada la baja prioridad del campo, su valor podría haber sido establecido internamente a otro valor en el momento en que se ha terminado de consultar dicho campo.

### Parámetros

`cal`

  El recurso IntlCalendar.

`field`

  Una de las constantes del campo fecha/hora de IntlCalendar. Son valores de tipo integer entre `0` y `IntlCalendar::FIELD_COUNT`.

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de error. Un error sólo puede ocurrir si se proporcionan argumentos no válidos.

### Ejemplos

Ejemplo #1 Ejemplod de IntlCalendar::clear()

`<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'UTC');
$campos = array(
'FIELD_ERA' => 0,
'FIELD_YEAR' => 1,
'FIELD_MONTH' => 2,
'FIELD_WEEK_OF_YEAR' => 3,
'FIELD_WEEK_OF_MONTH' => 4,
'FIELD_DATE' => 5,
'FIELD_DAY_OF_YEAR' => 6,
'FIELD_DAY_OF_WEEK' => 7,
'FIELD_DAY_OF_WEEK_IN_MONTH' => 8,
'FIELD_AM_PM' => 9,
'FIELD_HOUR' => 10,
'FIELD_HOUR_OF_DAY' => 11,
'FIELD_MINUTE' => 12,
'FIELD_SECOND' => 13,
'FIELD_MILLISECOND' => 14,
'FIELD_ZONE_OFFSET' => 15,
'FIELD_DST_OFFSET' => 16,
'FIELD_YEAR_WOY' => 17,
'FIELD_DOW_LOCAL' => 18,
'FIELD_EXTENDED_YEAR' => 19,
'FIELD_JULIAN_DAY' => 20,
'FIELD_MILLISECONDS_IN_DAY' => 21,
'FIELD_IS_LEAP_MONTH' => 22,
'FIELD_FIELD_COUNT' => 23,
);
function getSetFields(IntlCalendar $cal) {
global $campos;
$ret = array();
foreach ($campos as $nombre => $valor) {
if ($cal->isSet($valor)) {
$ret[] = $nombre;
}
}
return $ret;
}
$cal = new IntlGregorianCalendar(2013, 2 /* March */, 15);
echo "Después de la creación del GregorianCalendar\n";
print_r(getSetFields($cal));
echo "\n";
echo IntlDateFormatter::formatObject($cal), "\n";
echo "Después de que el formateador solicitó el año ampliado\n";
print_r(getSetFields($cal));
echo "\n";
$cal->clear(IntlCalendar::FIELD_YEAR);
echo "Después de que el año haya sido limpiado, la fecha permanece la misma\n";
echo IntlDateFormatter::formatObject($cal), "\n";
echo "puesto que FIELD_EXTENDED_YEAR aún está establecido\n";
print_r(getSetFields($cal));
echo "\n";
var_dump($cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR));
echo "Después de haber limpiado el año ampliado\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";
echo "\n";
echo "Después de recalcular los campos,\n"
. " el año ampliado se establece de nuevo (a 1970)\n";
print_r(getSetFields($cal));
echo "\n";
$cal->clear();
echo "Después de invocar a una variante sin argumentos\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";`

El resultado del ejemplo sería:

    Después de la creación del GregorianCalendar
    Array
    (
        [0] => FIELD_ERA
        [1] => FIELD_YEAR
        [2] => FIELD_MONTH
        [3] => FIELD_DATE
    )

    15/03/2013 00:00:00
    Después de que el formateador solicitó el año ampliado
    Array
    (
        [0] => FIELD_ERA
        [1] => FIELD_YEAR
        [2] => FIELD_MONTH
        [3] => FIELD_DATE
        [4] => FIELD_EXTENDED_YEAR
    )

    Después de que el año haya sido limpiado, la fecha permanece la misma
    15/03/2013 00:00:00
    puesto que FIELD_EXTENDED_YEAR aún está establecido
    Array
    (
        [0] => FIELD_ERA
        [1] => FIELD_MONTH
        [2] => FIELD_DATE
        [3] => FIELD_EXTENDED_YEAR
    )

    bool(true)
    Después de haber limpiado el año ampliado
    Array
    (
        [0] => FIELD_ERA
        [1] => FIELD_MONTH
        [2] => FIELD_DATE
    )
    15/03/1970 00:00:00

    Después de recalcular los campos,
     el año ampliado se establece de nuevo (a 1970)
    Array
    (
        [0] => FIELD_ERA
        [1] => FIELD_MONTH
        [2] => FIELD_DATE
        [3] => FIELD_EXTENDED_YEAR
    )

    Después de invocar a una variante sin argumentos
    Array
    (
    )
    01/01/1970 00:00:00