Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2020, 14:44   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
Вопрос Преобразовать дату

Доброго времени суток!
Подскажите, пожалуйста, как данную строку 20200131 (год, месяц, день) преобразовать в 31 января 2020
Shouldercannon вне форума Ответить с цитированием
Старый 02.02.2020, 14:54   #2
akaDelphi
Новичок
Джуниор
 
Регистрация: 10.05.2019
Сообщений: 2
По умолчанию

maybe something like this
Код:
var
  myDate : TDate;

begin
  myDate := StrToDate('2020-01-31');
  Writeln(FormatDateTime('dd mmmm yyyy', myDate));
  Readln;
end.
akaDelphi вне форума Ответить с цитированием
Старый 03.02.2020, 15:07   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ну или можно написать свою функцию
Код:
function parsDate(s:string):string;
var s1,year,month,day:string;
begin

    year:=Copy(s,1,4);
    Delete(s,1,4);

    month:=Copy(s,1,2);
    Delete (s,1,2);

    day:=Trim(s);

    case StrToInt(month) of
        1:s1:='январь';
        2:s1:='февраль';
        3:s1:='март';
        4:s1:='апрель';
        5:s1:='май';
        6:s1:='июнь';
        7:s1:='июль';
        8:s1:='август';
        9:s1:='сентябрь';
        10:s1:='октябрь';
        11:s1:='ноябрь';
        12:s1:='декабрь';
    end;
    Result:=day+' '+s1+' '+year;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin

    ShowMessage(parsDate('20200131'));
end;
так же функцию можно реализовать через массив

Код:
function parsDate(s:string):string;
var s1,year,day:string;

const months:array[1..12] of string=('январь','февраль','март','апрель','май','июнь',
 'июль','август','сентябрь','октябрь','ноябрь','декабрь');
begin
    year:=Copy(s,1,4);
    Delete(s,1,4);
    s1:=Copy(s,1,2);
    Delete (s,1,2);
    day:=Trim(s);
    Result:=day+' '+months[strtoint(s1)]+' '+year;
end;
from dark to light)

Последний раз редактировалось Алексей_2012; 03.02.2020 в 15:17.
Алексей_2012 вне форума Ответить с цитированием
Старый 04.02.2020, 09:21   #4
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Благодарю
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать строку в дату polin11 Python 1 08.03.2019 22:03
Преобразовать текст в дату agregator Microsoft Office Excel 1 08.02.2018 15:35
Преобразовать дату Nekr0n Помощь студентам 0 09.10.2010 18:54
Преобразовать в дату Iskin Microsoft Office Excel 2 14.04.2009 07:57
Преобразовать в дату Marvel Microsoft Office Excel 21 22.01.2009 06:42