La función IntlCalendar::set() es una función incorporada en PHP que se usa para establecer el campo de tiempo o varios campos comunes a la vez. El rango de valor del campo depende del calendario. Esta función no se puede llamar con exactamente cuatro parámetros.
Sintaxis:
- Estilo orientado a objetos
bool IntlCalendar::set( int $field, int $value )
o
bool IntlCalendar::set( int $year, int $month, int $dayOfMonth = NULL, int $hour = NULL, int $minute = NULL, int $second = NULL )
- Estilo procesal
bool intlcal_set( IntlCalendar $cal, int $field, int $value )
o
bool intlcal_set( IntlCalendar $cal, int $year, int $month, int $dayOfMonth = NULL, int $hour = NULL, int $minute = NULL, int $second = NULL )
Parámetros: esta función acepta muchos parámetros, como se mencionó anteriormente y se describe a continuación:
- $cal: este parámetro contiene el recurso del objeto IntlCalendar.
- $field: este parámetro contiene una de las constantes de campo de fecha/hora de IntlCalendar. Las constantes de campo son valores enteros que se encuentran entre 0 e IntlCalendar::FIELD_COUNT.
- $valor: este parámetro contiene el nuevo valor del campo dado.
- $año: este parámetro contiene el nuevo valor para el campo IntlCalendar::FIELD_YEAR.
- $month: este parámetro contiene el nuevo valor para el campo IntlCalendar::FIELD_MONTH.
- $dayOfMonth: este parámetro contiene el nuevo valor para el campo IntlCalendar::FIELD_DAY_OF_MONTH. La secuencia de mes comienza desde cero, es decir, 0 para enero, 1 para febrero, etc.
- $hora: este parámetro contiene el nuevo valor para el campo IntlCalendar::FIELD_HOUR_OF_DAY.
- $minuto: este parámetro contiene el nuevo valor para el campo IntlCalendar::FIELD_MINUTE.
- $segundo: este parámetro contiene el nuevo valor para el campo IntlCalendar::FIELD_SECOND.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito y FALSO en caso de error.
El siguiente programa ilustra la función IntlCalendar::set() en PHP:
Programa:
<?php // Set the DateTime zone ini_set('date.timezone', 'Asia/Calcutta'); ini_set('date.timezone', 'UTC'); // Create an instance of IntlCalendar $calendar = IntlCalendar::createInstance('Asia/Calcutta'); // Set the DateTime object $calendar->set(2019, 8, 24); // Display the calendar object var_dump(IntlDateFormatter::formatObject($calendar)); // Declare a new IntlGregorianCalendar object $calendar = new IntlGregorianCalendar(2016, 8, 24); // Set the year field $calendar->set(IntlCalendar::FIELD_YEAR, 2018); // Display the calendar object var_dump(IntlDateFormatter::formatObject($calendar)); ?>
Producción:
string(24) "Sep 24, 2019, 8:23:53 AM" string(25) "Sep 24, 2018, 12:00:00 AM"
Referencia: https://www.php.net/manual/en/intlcalendar.set.php