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

CharToDateFunction

string
CDatabase::CharToDateFunction(
 string value,
 string type = "FULL",
 string lang = false 
 )

Возвращает для MySQL значение сконвертированное в формат YYYY-MM-DD [HH:MI:SS], для Oracle - метод вернет строку TO_DATE с нужными параметрами.
Форматы даты устанавливается в Региональных настройках сайта. Нестатический метод.

Параметры

ПараметрОписание
value Если функция вызывается в публичной части сайта, то это - значение даты для формата текущего сайта. Если функция вызывается в административной части, то это - значение даты для формата текущего языка.
type Тип формата даты: "FULL" - для даты со временем, "SHORT" - для даты (без времени)
Необязательный. По умолчанию "FULL".
lang Код языка для административной части.
Необязательный. По умолчанию текущий. Отсутствовал в версиях с 3.0.11 по 3.3.21.

См. также

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

<?
$arr = getdate();
$ndate = mktime(9,0,0,$arr["mon"],$arr["mday"],$arr["year"]);
$next_exec = $DB->CharToDateFunction(GetTime($ndate,"FULL"));
CAgent::AddAgent("SendDailyStatistics();","statistic","Y",86400,"","Y",$next_exec, 25);
?>
<?
$strSql = "
    SELECT 
        ID
    FROM 
        my_table
    WHERE 
        DATE_CREATE <= ".$DB->CharToDateFunction("10.01.2003 23:59:59")."
    ";
$rs = $DB->Query($strSql, false, $err_mess.__LINE__);
?>


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Иван Левый
При испольловании конструкции SHORT система не обрезает, а заменяет нулями время.
Так, код:
Код
echo $DB->CharToDateFunction("10.01.2003 23:59:59", "SHORT");

в результате выдаст '10.01.2003 00:00:00'.

Параметр SHORT удобно использовать если поле имеет тип DATETIME. Если же поле в базе имеет тип DATE то тогда необходимо форматировать дату вручную.

Код
SELECT * FROM b_mytable
WHERE F.DATE = date($DB->CharToDateFunction("10.01.2003 23:59:59"))
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх