(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)
IntlCalendar::getMinimalDaysInFirstWeek — Obtener el número mínimo de días que puede tener la primera semana de un año o mes
Estilo orientado a objetos
Estilo por procedimientos
Devuelve el número mínimo de días que debe tener la primera semana de un año o mes en el nuevo año o mes. Por ejemplo, en el calendario gregoriano, si este valor es 1, la primera semana de año incluirá necesariamente el 1 de enero, mientras que si este valor es 7, la semana con el 1 de enerio será la primera semana del año únicamente si el día de la semana para el 1 de enero coincide con el día de la semana devuelto por IntlCalendar::getFirstDayOfWeek(); de lo contrario será la última semana del año anterior.
cal
El recurso IntlCalendar.
Ejemplo #1 IntlCalendar::getMinimalDaysInFirstWeek()
<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'en_US');
$cal = new IntlGregorianCalendar(2013, 0 /* January */, 2);
var_dump(IntlDateFormatter::formatObject($cal, 'cccc')); // Wednesday
var_dump($cal->getMinimalDaysInFirstWeek(), // 1
$cal->getFirstDayofWeek()); // 1 (Sunday)
// Semana 1 del 2013
var_dump(IntlDateFormatter::formatObject($cal, "'Semana 'w' del 'Y"));
$cal->setMinimalDaysInFirstWeek(4);
// Aún en la semana 1 del 2013 (1ª semana tiene 5 días en el nuevo año)
var_dump(IntlDateFormatter::formatObject($cal, "'Semana 'w' del 'Y"));
$cal->setMinimalDaysInFirstWeek(6);
// Semana 53 del 2012
var_dump(IntlDateFormatter::formatObject($cal, "'Semana 'w' del 'Y"));
El resultado del ejemplo sería:
string(9) "Wednesday" int(1) int(1) string(14) "Semana 1 del 2013" string(14) "Semana 1 del 2013" string(15) "Semana 53 del 2012"