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

ParseDateTime

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

mixed
ParseDateTime(
 string datetime,
 string format = FORMAT_DATETIME
);

Разбивает дату и время на части в соответствии с заданным форматом. Функция возвращает массив описывающий дату и время в соответствии с заданным форматом, если произошла ошибка - возвращает "false".

Параметры функции

ПараметрОписание
datetime Дата и время заданные в соответствии с форматом указанным в параметре format.
format Формат даты и времени. Вы можете использовать любые обозначения, но желательно использовать символы формата даты и времени допустимые в системе, а именно:
  • YYYY - год
  • MM - месяц
  • DD - день
  • HH - часы
  • MI - минуты
  • SS - секунды
Необязательный параметр. По умолчанию равен константе FORMAT_DATETIME, хранящей текущий формат времени сайта или языка (для административной части).

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

<?
$datetime = "21.01.2004 23:44:15";
$format = "DD.MM.YYYY HH:MI:SS";
echo "Исходное время: ".$datetime."<br>";
echo "Формат: ".$format."<hr>";
if ($arr = ParseDateTime($datetime, $format))
{
    echo "День:    ".$arr["DD"]."<br>";    // День: 21
    echo "Месяц:   ".$arr["MM"]."<br>";    // Месяц: 1
    echo "Год:     ".$arr["YYYY"]."<br>";  // Год: 2004
    echo "Часы:    ".$arr["HH"]."<br>";    // Часы: 23
    echo "Минуты:  ".$arr["MI"]."<br>";    // Минуты: 44
    echo "Секунды: ".$arr["SS"]."<br>";    // Секунды: 15
}
else echo "Ошибка!";
?>
<?
// выведем дату в формате вида "21 января, 2004"

$datetime = "21.01.2004"; // дата задана в формате текущего сайта

// FORMAT_DATETIME - константа содержащая формат времени текущего сайта
$arr = ParseDateTime($datetime, FORMAT_DATETIME);

// 21 января, 2004
echo $arr["DD"]." ".ToLower(GetMessage("MONTH_".intval($arr["MM"])."_S")).", ".$arr["YYYY"];
?>
<?
// вывод даты активности элемента информационного блока 
// в произвольном формате

// подключим модуль информационных блоков
if (CModule::IncludeModule("iblock"))
{
    // выберем произвольный элемент информационного блока
    $rsElement = CIBlockElement::GetByID(32675);
    $arElement = $rsElement->Fetch();

    // получим дату активности выбранного элемента
    // выбранную в соответствии с форматом времени текущего сайта
    $date_active = $arElement["ACTIVE_FROM"]; // 28.01.2005
    
    // получим формат времени текущего сайта
    $site_format = CSite::GetDateFormat(); // DD.MM.YYYY HH:MI:SS

    // получим массив описывающий дату активности выбранного элемента
    if ($arr = ParseDateTime($date_active, $site_format))
    {
        /*
        структура полученного массива $arr:
        Array
        (
            [DD] => 28
            [MM] => 1
            [YYYY] => 2005
            [HH] => 0
            [MI] => 0
            [SS] => 0
        )
        */

        // переведем дату активности в Unix-формат
        $stmp = mktime(
            $arr["HH"], $arr["MI"], $arr["SS"], 
            $arr["MM"], $arr["DD"], $arr["YYYY"]
            );

        // выведем дату активности выбранного элемента в произвольном виде
        // с помощью стандартной PHP функции date
        echo date("d F Y", $stmp); // 28 January 2005
    }
}
?>


© «Битрикс», 2001-2023, «1С-Битрикс», 2023