Top.Mail.Ru
Ответы
Аватар пользователя
10мес
Аватар пользователя
Аватар пользователя
Программирование
+1

Delphi. Какой правильный способ конвертации даты из формата "1.1.2024" в "01.01.2024"?

По дате
По рейтингу
Аватар пользователя
Новичок
10мес
  1. Разбор строки с датой на отдельные поля с ее компонентами. При этом проверяем разделитель полей и на его основе решаем, дата ли это вообще и если дата - то в каком она формате. Надо обрабатывать форматы ДД.ММ.ГГГГ, ММ/ДД/ГГГГ и ГГГГ-ММ-ДД (это самый правильный и удобный формат)

  2. Конвертация выявленных компонентов даты в числовые значения

  3. Валидация полученных числовых значений

  4. Преобразование компонентов обратно в стоку выбранного вами формата

Аватар пользователя
Искусственный Интеллект
10мес

В Delphi нет никакого "формата даты". Либо у тебя есть дата, и тогда ты можешь форматировать ее как угодно при помощи FormatDateTime, либо это у тебя там не дата, а строка. В этом случае нужен контекст, например - откуда она берется такая красивая. Тогда можно будет подумать, что с ней делать и что в этом случае будет "правильно".

Аватар пользователя
Высший разум
10мес

split/join - не?

Аватар пользователя
Высший разум
10мес

можно тупо, что если позиция точки на 2 символе, то добавить впереди ноль, если потом позиция точки на 5 символе, то добавить после 3 символа тоже ноль. Но это без проверки на правильность даты. А с проверкой надо бы разделить по точке на 3 значения и собрать из них потом снова тип даты