Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Вывод даты в нужном формате

Delphi , Синтаксис , Дата и Время

Вывод даты в нужном формате


function CheckDateFormat(SDate:  string):  string;
var
  IDateChar: string;
  x, y: integer;
begin
  IDateChar := '.,\/';
  for y := 1 to length(IDateChar) do
  begin
    x := pos(IDateChar[y], SDate);
    while x > 0 do
    begin
      Delete(SDate, x, 1);
      Insert('-', SDate, x);
      x := pos(IDateChar[y], SDate);
    end;
  end;
  CheckDateFormat := SDate;
end;


function DateEncode(SDate:string):longint;
var
  year, month, day: longint;
  wy, wm, wd: longint;
  Dummy: TDateTime;
  Check: integer;
begin
  DateEncode := -1;
  SDate := CheckDateFormat(SDate);
  Val(Copy(SDate, 1, pos('-', SDate) - 1), day, check);
  Delete(Sdate, 1, pos('-', SDate));
  Val(Copy(SDate, 1, pos('-', SDate) - 1), month, check);
  Delete(SDate, 1, pos('-', SDate));
  Val(SDate, year, check);
  wy := year;
  wm := month;
  wd := day;
  try
    Dummy := EncodeDate(wy, wm, wd);
  except
    year := 0;
    month := 0;
    day := 0;
  end;
  DateEncode := (year * 10000) + (month * 100) + day;
end;

Код написан на языке Delphi, который является программным языком и средой разработки (IDE) для создания приложений Windows. Основной цель этих функций - форматировать строку даты в требуемом формате и затем кодировать ее в целочисленное значение.

Вот как они работают:

  1. CheckDateFormat функция: эта функция принимает строку в виде входных данных, представляющую собой дату в любом формате, и возвращает эту дату в формате 'yyyy-mm-dd'. Она заменяет символы, такие как '.', '/', '\' на '-' с помощью цикла, который итерирует над множеством специальных символов и использует функцию pos для поиска первого вхождения каждого символа.

  2. DateEncode функция: эта функция принимает строку в виде входных данных, представляющую собой дату в любом формате, форматирует ее в формат 'yyyy-mm-dd', если это необходимо, и затем конвертирует ее в целочисленное значение, комбинируя значения года, месяца и дня. Если вводная дата является недопустимой, она вернет -1.

Вот пример использования этих функций:

var
  sDate: string;
begin
  sDate := '30-12-2022'; // Входная дата в любом формате
  sDate := CheckDateFormat(sDate); // Форматируем дату в формат 'yyyy-mm-dd'
  sEncode := DateEncode(sDate);
end.

В этом примере CheckDateFormat будет конвертировать входную дату из '30-12-2022' в '2022-12-30', а затем DateEncode будет конвертировать ее в целочисленное значение.

Статья описывает функции для форматирования и кодировки даты в виде строки, преобразующей дату из любого формата в формат 'день-месяц-года' и кодирующей ее в числовой код.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Дата и Время ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 14:31:36/0.0031840801239014/0