- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/mysql/database.php
- Класс: CDatabaseMysql
- Вызов: CDatabaseMysql::DateFormatToDB
public function DateFormatToDB($format, $field = false)
{
static $search = [
"YYYY",
"MMMM",
"MM",
"MI",
"DD",
"HH",
"GG",
"G",
"SS",
"TT",
];
static $replace = [
"%Y",
"%M",
"%m",
"%i",
"%d",
"%H",
"%h",
"%l",
"%s",
"%p",
];
$format = str_replace($search, $replace, $format);
if (strpos($format, '%H') === false)
{
$format = str_replace("H", "%h", $format);
}
if (strpos($format, '%M') === false)
{
$format = str_replace("M", "%b", $format);
}
$lowerAmPm = false;
if (strpos($format, 'T') !== false)
{
//lowercase am/pm
$lowerAmPm = true;
$format = str_replace("T", "%p", $format);
}
if ($field === false)
{
$field = "#FIELD#";
}
if ($lowerAmPm)
{
return "REPLACE(REPLACE(DATE_FORMAT(" . $field . ", '" . $format . "'), 'PM', 'pm'), 'AM', 'am')";
}
return "DATE_FORMAT(" . $field . ", '" . $format . "')";
}