• Модуль: 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 . "')";
}