При работе с датами в Delphi и Pascal, тип TDateTime представляет собой значение с плавающей точкой, где целая часть обозначает количество дней, прошедших с 30 декабря 1899 года (или 1 января 1900 года в зависимости от версии Delphi), а дробная часть представляет время суток. В результате, при отладке или выводе на экран, мы видим численное значение, а не формат 'дд/мм/гггг', который нам обычно нужен.
Чтобы получить дату в формате 'дд/мм/гггг', мы можем воспользоваться встроенными функциями Delphi и Pascal. Вот несколько способов сделать это:
Использование DateTimeToStr()
Функция DateTimeToStr() преобразует значение типа TDateTime в строку в формате 'дд/мм/гггг чч:мм:сс.ссс'. Если нам нужен только формат даты, мы можем использовать DateToStr().
uses
System.SysUtils;
var
dt: TDateTime;
begin
dt := 41188.668981; // наше численное значение даты
Writeln(DateTimeToStr(dt)); // выведет '06/10/2012 16:03:19'
Writeln(DateToStr(dt)); // выведет '06/10/2012'
end.
Использование FormatDateTime()
Функция FormatDateTime() более гибкая, так как позволяет указать формат вывода. Используя код 'dd/mm/yyyy', мы получим нужный нам формат даты.
uses
System.SysUtils;
var
dt: TDateTime;
begin
dt := 41188.668981; // наше численное значение даты
Writeln(FormatDateTime('dd/mm/yyyy', dt)); // выведет '06/10/2012'
end.
Использование Trunc() для отделения даты от времени
Если мы хотим отделить дату от времени, можно использовать функцию Trunc(), которая возвращает целую часть числа.
uses
System.SysUtils;
var
dt: TDateTime;
begin
dt := 41188.668981; // наше численное значение даты
Writeln(FormatDateTime('dd/mm/yyyy', Trunc(dt))); // выведет '06/10/2012'
end.
При использовании этих функций, помните, что Delphi date time epoch - это 01/01/1900 (включительно) в старых версиях Delphi, и 01/01/1970 в newer versions.
Преобразование численного значения даты в формат 'дд/мм/гггг' в Delphi и Pascal.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.