PHP 8.5.0 Alpha 2 available for testing

IntlCalendar::set

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

IntlCalendar::setDefine un campo de tiempo o varios campos comunes a la vez

Descripción

Estilo orientado a objetos

public IntlCalendar::set(int $field, int $value): true
public IntlCalendar::set(
    int $year,
    int $month,
    int $dayOfMonth = NULL,
    int $hour = NULL,
    int $minute = NULL,
    int $second = NULL
): true

Estilo procedimental

intlcal_set(IntlCalendar $cal, int $field, int $value): true
intlcal_set(
    IntlCalendar $cal,
    int $year,
    int $month,
    int $dayOfMonth = NULL,
    int $hour = NULL,
    int $minute = NULL,
    int $second = NULL
): bool

Define ya sea un campo específico con el valor dado, o define varios campos comunes a la vez. El rango de valores aceptables depende de si el calendario utiliza el modo tolerante.

Para los campos que entran en conflicto, los campos definidos más tarde tienen prioridad.

Este método no puede ser llamado con exactamente cuatro argumentos.

Parámetros

cal

An IntlCalendar instance.

field

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

value

El nuevo valor del campo dado.

year

El nuevo valor para IntlCalendar::FIELD_YEAR.

month

El nuevo valor para IntlCalendar::FIELD_MONTH. La secuencia de los meses comienza en cero, es decir que enero es representado por 0, febrero por 1, ..., diciembre por 11 y Undecember (si el calendario lo soporta) por 12.

dayOfMonth

El nuevo valor para IntlCalendar::FIELD_DAY_OF_MONTH.

hour

El nuevo valor para IntlCalendar::FIELD_HOUR_OF_DAY.

minute

El nuevo valor para IntlCalendar::FIELD_MINUTE.

second

El nuevo valor para IntlCalendar::FIELD_SECOND.

Valores devueltos

Retorna siempre true.

Historial de cambios

Versión Descripción
8.2.0 El tipo de retorno es ahora true, anteriormente era bool.
8.4.0 Esto ha sido deprecado en favor de los métodos IntlCalendar::setDate() y IntlCalendar::setDateTime().

Ejemplos

Ejemplo #1 IntlCalendar::set()

<?php
ini_set
('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

//Las últimas llamadas tienen prioridad
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
//el tiempo no ha sido recalculado. Si borramos el año extendido,
//el año definido antes será utilizado
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));

El ejemplo anterior mostrará :

string(20) "01/07/2011, 00:00:00"
string(20) "01/07/2012, 00:00:00"

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top