idate

(PHP 5, PHP 7, PHP 8)

idateПреобразовывает локальное время/дату в целое число

Описание

idate(string $format, ?int $timestamp = null): int|false

Преобразовывает текущую дату и время в целое число в соответствии со строкой форматирования format. Если аргумент timestamp задан, расчёт будет произведён для этой временной метки, если нет — будет использовано локальное время. Другими словами, метка времени timestamp — это необязательный аргумент и по умолчанию равен значению time().

В отличие от функции date(), функция idate() принимает только один символ в аргументе format.

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

format

Допустимые символы в строке аргумента format
символ в format Описание
B Эталонное время/Время Интернета
d День месяца
h Час (12 часовой формат)
H Час (24 часовой формат)
i Минуты
I (i в верхнем регистре) возвращает 1, если активировано DST, или 0 в противном случае
L (l в верхнем регистре) возвращает 1 для високосного года, 0 в противном случае
m Номер месяца
N День недели в ISO-8601 (с 1 для понедельника по 7 для воскресенья)
o Год в ISO-8601 (4 цифры)
s Секунды
t Количество дней в текущем месяце
U Время в секундах, от начала эпохи UNIX - 1 января 1970 00:00:00 UTC - то же, что time()
w День недели (0 - Воскресенье)
W ISO-8601 - Номер недели года, неделя начинается с понедельника
y Год (1 или 2 цифры - смотрите примечание ниже)
Y Год (4 цифры)
z День года
Z Часовой пояс — смещение в секундах

timestamp

Необязательный параметр timestamp — это целочисленная (int) метка времени, по умолчанию равная текущему местному времени, если параметр timestamp не указан или равен null. Говоря по другому, значение по умолчанию равно результату функции time().

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

Возвращает целое число (int) в случае успешного выполнения или false в случае возникновения ошибки.

idate() всегда возвращает тип int и не может начинаться с нуля, поэтому idate() может вернуть меньше цифр, чем вы ожидаете. Смотрите примеры ниже.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках часового пояса сгенерирует ошибку уровня E_WARNING, если часовой пояс некорректный. Смотрите также date_default_timezone_set()

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

Версия Описание
8.2.0 Добавлены символы для параметра format: N (День недели в ISO-8601) и o (Год в ISO-8601).
8.0.0 timestamp теперь допускает значение null.

Примеры

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

<?php
$timestamp
= strtotime('1st January 2004'); //1072915200

// это выведет год в 2-х знаковом представлении
// поскольку первая цифра "0", будет выведено
// только "4"
echo idate('y', $timestamp);
?>

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

  • DateTimeInterface::format() - Возвращает дату, отформатированную согласно переданному формату
  • date() - Форматирует временную метку Unix
  • getdate() - Возвращает информацию о дате/времени
  • time() - Возвращает текущую метку системного времени Unix

add a note add a note

User Contributed Notes 1 note

up
2
khaine at herbok dot org
13 years ago
A function that made by idate for print a hour you want:

<?php
function hour ( $a, $b )
{
   
$timestamp = strtotime(''.$a.':'.$b.':00');
   
$aa = idate('H', $timestamp);
   
$bb = idate('i', $timestamp);
    if(
$bb=="0") { $cc = "00"; } else { $cc = $bb; }
   
$dd = $aa.".".$cc;
    return(
$dd);
}
?>

Why should i use it?
For example:
You have to print 08:00 to 21:00 by 15 minutes periods.
This is a useful code for shipping sites for delivery time.

<?php
echo "<select name=\"example\">";
for(
$i=8;$i<=20;$i++)
{
    for(
$ii=0;$ii<=3;$ii++)
    {
       
$iii = $ii * 15;
       
$hour = hour($i, $iii);
        echo
"<option value=\"".$hour."\">".$hour."</option>";
    }
}
echo
"</select>";
?>
To Top