Установка ISO даты


date_isodate_set

(PHP 5 >= 5.2.0)

DateTime::setISODate -- date_isodate_setУстановка ISO даты

Описание

Объектно-ориентированный стиль

public DateTime DateTime::setISODate ( int $year , int $week [, int $day = 1 ] )

Процедурный стиль

DateTime date_isodate_set ( DateTime $object , int $year , int $week [, int $day = 1 ] )

Установка даты в соответствии со стандартом ISO 8601, в котором использование недель и смещения в днях предпочтительней указания даты.

Список параметров

object

Только для процедурного стиля: Объект DateTime, возвращаемый date_create(). Функция изменяет этот объект.

year

Год новой даты.

week

Неделя новой даты.

day

Смещение относительно начала недели.

Возвращаемые значения

Возвращает объект DateTime для применения в цепи методов или FALSE в случае возникновения ошибки.

Список изменений

Версия Описание
5.3.0Изменено значение успешной работы функции с NULL на DateTime.

Примеры

Пример #1 Пример использования DateTime::setISODate()

Объектно-ориентированный стиль

<?php
$date 
= new DateTime();

$date->setISODate(20082);
echo 
$date->format('Y-m-d') . "\n";

$date->setISODate(200827);
echo 
$date->format('Y-m-d') . "\n";
?>

Процедурный стиль

<?php
$date 
date_create();

date_isodate_set($date20082);
echo 
date_format($date'Y-m-d') . "\n";

date_isodate_set($date200827);
echo 
date_format($date'Y-m-d') . "\n";
?>

Результат выполнения данных примеров:

 2008-01-07 2008-01-13 

Пример #2 Значения, превышающие допустимые пределы, добавляются к старшим полям

<?php
$date 
= new DateTime();

$date->setISODate(200827);
echo 
$date->format('Y-m-d') . "\n";

$date->setISODate(200828);
echo 
$date->format('Y-m-d') . "\n";

$date->setISODate(2008537);
echo 
$date->format('Y-m-d') . "\n";
?>

Результат выполнения данного примера:

 2008-01-13 2008-01-14 2009-01-04 

Пример #3 Поиск месяца по номеру недели

<?php
$date 
= new DateTime();
$date->setISODate(200814);
echo 
$date->format('n');
?>

Результат выполнения данных примеров:

 3 

Смотрите также