Документация для разработчиков
Темная тема

FormatDate

Описание и параметры

string
CDatabase::FormatDate(
	string date,
	string format = "DD.MM.YYYY HH:MI:SS",
	string new_format = "DD.MM.YYYY HH:MI:SS"
)

Преобразует дату из одного заданного формата в другой заданный формат. В формате допустимы следующие обозначения:

Обозначение Описание
YYYY Год (0001 - 9999)
MM Месяц (01 - 12)
DD День (01 - 31)
HH Часы (00 - 24)
MI Минуты (00 - 59)
SS Секунды (00 - 59)

Нестатический метод.

Параметры

ПараметрОписание
date Дата для конвертации.
format Текущий формат даты.
Необязательный. По умолчанию - "DD.MM.YYYY HH:MI:SS".
new_format В какой формат необходимо преобразовать.
Необязательный. По умолчанию - "DD.MM.YYYY HH:MI:SS".

Примеры использования

<?
// зададим дату
$date = "31.12.2007";

// укажем формат этой даты
$format = "DD.MM.YYYY";

// получим формат текущего сайта
$new_format = CSite::GetDateFormat("SHORT"); // YYYY-MM-DD

// переведем дату из одного формата в другой
$new_date = $DB->FormatDate($date, $format, $new_format);

// в результате получим дату в новом формате
echo $new_date; // 2007-12-31
?>
<?
// конвертация даты из формата одного сайта в формат другого

// получим формат сайта ru
$format_ru = CSite::GetDateFormat("SHORT", "ru"); // DD.MM.YYYY

// получим формат сайта en
$format_en = CSite::GetDateFormat("SHORT", "en"); // YYYY-MM-DD

// переведем дату из формата сайта ru в формат сайта en
$new_date = $DB->FormatDate($date, $format_ru, $format_en);

// в результате получим дату в новом формате
echo $date; // 2007-12-31
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
6
Dias Sadvakasov
Метод CDatabase::FormatDate работает не универсально.
Мне присылают дату в формате YYYYMMDDHHMISS, например 20150212160430. Нужно её конвертировать в такой формат DD.MM.YYYY HH:MI:SS
Код
<?php
...
$newFormat = CSite::GetDateFormat('FULL');
$fullDate = $DB->FormatDate('20150212160430', 'YYYYMMDDHHMISS', $newFormat);
$fullDate; //возвращает false
...
?>
То есть метод FormatDate объекта CDatabase работает только если во входящей дате есть разделители.

Решение
Код
<?php
$datePayed = date_format(date_create('20150212160430'), 'd.m.Y H:i:s');
$datePayed; //возвращает 12.02.2015 16:04:30
?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх