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

Преобразование даты, месяц прописью

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

Преобразование даты, месяц прописью

Автор: Mukha
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Преобразование даты (месяц прописью)

Преобразование даты. Например: 23.02.02 преобразуется в 23 февраля 2002 года.

Зависимости: DecodeDate
Автор:       mukha, mukha@vistcom.ru, Волгоград
Copyright:   mukha
Дата:        17 ноября 2002 г.
***************************************************** }

function Monthstr(S: string): string;
const
  Mes: array[1..12] of string = ('января', 'февраля', 'марта', 'апреля',
    'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября',
      'декабря');
var
  Year, Month, Day: Word;
begin
  try
    StrToDate(S); // пр-ка правильности ввода даты
    DecodeDate(StrToDate(S), Year, Month, Day);
    Result := IntToStr(day);
    Result := Result + ' ' + Mes[Month];
    Result := result + ' ' + IntToStr(Year) + ' года';
  except
    raise
      Exception.Create('"' + s + '"' + ' - такой даты нет!');
  end;
end;

Код на Delphi!

Обзор функции Monthstr:

Функция принимает строковый параметр S, представляющий дату в формате "DD.MM.YY" (например, "23.02.02"). Функция конвертирует эту дату в читаемый человеком формат, то есть "День Месяц Год" (например, "23 февраля 2002 года").

Массив Mes:

Код определяет массив Mes строк, где каждый элемент представляет месяц на русском языке, от января до декабря.

Переменные Year, Month и Day:

Три переменные объявлены: Year, Month и Day. Они будут хранить компоненты даты входного параметра, соответственно.

Поток выполнения кода:

Когда вы вызываете функцию: 1. Код пытается конвертировать строку S в дату с помощью StrToDate. 2. Если конвертация успешна, он декодирует дату в ее компонентные части (Year, Month и Day) с помощью DecodeDate. 3. Он строит строку вывода, соединяя: * Число дня месяца * Пробел * Соответствующий месяц из массива Mes (используя переменную Month) * Пробел * Число года * Слово "года" (означающее "год") 4. Если конвертация неудачна, он выбрасывает исключение с сообщением о том, что входная дата является недопустимой.

Альтернативное решение:

Если вы хотите сделать код более robust и гибким, можно рассмотреть использование более современного подхода, такого как парсинг строки ввода с помощью регулярных выражений или библиотеки для парсинга дат. Это позволит вам обрабатывать различные форматы дат и локали более легко.

Кроме того, вы можете добавить обработку ошибок для случаев, когда входная дата не соответствует ожидаемому формату, а не полагаться на StrToDate для выбрасывания исключения.

Преобразование функция даты, месяц прописью в Delphi: из строки формата "дд.мм.гг" преобразуется в строку формата "дд февраля гг", где месяцы обозначаются словами на русском языке.


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

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




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


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


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:13:47/0.0054769515991211/1