English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Руководство по функциям даты и времени PHP
Функция date_isodate_set() устанавливает ISO дату
date_isodate_set()Функция DateTime::setISODate используется в качестве альтернативного имени. Использование этой функции позволяет установить ISO дату. Устанавливает дату в формате ISO 8601, используя смещение недели и дня в качестве параметров, а не месяц и день.
date_isodate_set($object, $year, $week, $day)
Номер | Параметры и описание |
---|---|
1 | object(обязателен) Это объект DateTime, для которого вам нужно установить дату. |
2 | year(обязателен) Год. |
3 | week(обязателен) Неделя. |
4 | day(обязателен) Отсчет дня с начала недели, смещение дня в неделю. |
Возвращает измененный объект DateTime, эта функция возвращает логическое значениеfalse.
Эта функция была введена в PHP версии 5.2.0 и может использоваться во всех более новых версиях.
Следующий пример демонстрируетdate_isodate_setМетод использования функции-
<?php //Создание даты $date = new DateTime(); //Установка ISO даты date_isodate_set($date, 2019, 03, 3); print("Дата: ".date_format($date, "Y/m/d")); ?>Тестирование看看‹/›
Результат вывода
Дата: 2019/01/16
Пример создания объекта DateTime и использованияdate_isodate_set()Функция изменяет свою дату.-(date_isodate_set())
<?php //Строка даты $date_string = "25-09-1999"; //Создание объекта DateTime $date_time_Obj = date_create($date_string); print("Оригинальная дата: ".date_format($date_time_Obj, "Y/m/d")); print("\n"); //Установка даты $date = date_isodate_set($date_time_Obj, 2015, 4, 3); print("Измененная дата: ".date_format($date, "Y/m/d")); ?>Тестирование看看‹/›
Результат вывода
Оригинальная дата: 1999/09/25 Измененная дата: 2015/01/21
Если при вызове этой функции вы передаете значения дня и недели за пределы их диапазона, они будут добавлены к их родительскому значению-
<?php //Создание даты $date = new DateTime(); //Установка даты date_isodate_set($date, 2019, 15, 17); print("Дата: ".date_format($date, "Y/m/d")); ?>Тестирование看看‹/›
Это приведет к следующим результатам-
Дата: 2019/04/24
<?php $dateSrc = '2005-04-19 12:50 GMT'; $dateTime = date_create($dateSrc);; #Теперь используем date_isodate_set() для установки новой даты; date_isodate_set($dateTime, 2000, 12, 12); echo "Новый форматированный дата: ". $dateTime->format("Y-m-d\TH:i:s\Z"); echo "<br>"; #Использование второй функции. $dateTime = new DateTime($dateSrc); $dateTime->setISODate(1999, 10, 12); echo "Новый форматированный дата: ". $dateTime->format("Y-m-d\TH:i:s\Z"); ?>Тестирование看看‹/›
Это приведет к следующим результатам-
Новый форматированный дата: 2000-03-31T12:50:00Z Новый форматированный дата: 1999-03-19T12:50:00Z