Форум: "Основная";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
ВнизПеревод даты в строгу с заданым форматом Найти похожие ветки
← →
Opilki_Inside © (2006-01-30 16:30) [0]Всем привет!
В делфях есть функция DateFormat, которая переводит дату в строку с заданым форматом...
А есть ли обратная функция, что бы в качестве аргументов я бы передавал строку, и формат в котором она находится?
Т.е. у меня есть строка
051022 и формат yymmdd нужно на выходе получить тип TData со значением 22 октября 2005
с FormatSettings такого не получилось, а гемороя не хочется:(
← →
Ega23 © (2006-01-30 17:05) [1]Тебе, поди, для БД надо?
← →
Opilki_Inside © (2006-01-30 17:13) [2]нее... ну не совсем... есть текстовый файл, в нем дата в формате yymmdd нужно ее от туда изъять и перевести в ISO, для дальнейшей загрузки в БД
← →
begin...end © (2006-01-30 17:15) [3]По крайней мере, DateSeparator в строку придётся вставить.
← →
Ega23 © (2006-01-30 17:17) [4]
> нее... ну не совсем... есть текстовый файл, в нем дата в
> формате yymmdd нужно ее от туда изъять и перевести в ISO,
> для дальнейшей загрузки в БД
>
Ну, если формат даты в файле фиксированный, то, думаю, тебе не составит труда его распарсить так, как надо.
← →
Yanis © (2006-01-30 17:19) [5]
> что бы в качестве аргументов я бы передавал строку, и формат
> в котором она находится?
Есть такая функция. StrToDate называется.
> с FormatSettings такого не получилось
А ты ещё разок попробуй.
> а гемороя не хочется:(
Тогда иди пивка попей.
← →
Opilki_Inside © (2006-01-30 18:05) [6]Yanis
>А ты ещё разок попробуй.
Yanis, я же сказал что через FormatSettings не получилось. неужели не ясно? В строке с датой какой-то сепаратор должен быть по любому.
А если у тебя получилось - то напиши, если конечно, тебе не жалко...
Yanis, ты вопрос вообще читал? Про StrToDate и так все знают
Дело не втом что мне служно написать функцию распарсивания этой даты, я уже давно ее написал. Дело в подходе, можно все функции заново написать... только стандартные функции работают как-то по надежнее и не нужно с собой самодельных таскать
← →
Yanis © (2006-01-30 18:13) [7]2 [6]
Ты писал
> А есть ли обратная функция, что бы в качестве аргументов
> я бы передавал строку, и формат в котором она находится?
Я ответил:
> Есть такая функция. StrToDate называется.
Разве не верно?
Да тут даже переводить не нужно. Если формат фиксированный, то третьему и четёртому символу (т.е. числу, в твоём случае 10) ставить в соответсвие название месяца. Это проще чем вставлять разделители и использовать стандартные функции.
← →
begin...end © (2006-01-30 18:20) [8]> Opilki_Inside
Я могу ещё раз сказать, что в строку нужно вставить DateSeparator.var
FS: TFormatSettings;
DT: TDateTime;
S: string;
begin
GetLocaleFormatsettings(LOCALE_USER_DEFAULT, FS);
FS.ShortDateFormat := "yymmdd";
FS.TwoDigitYearCenturyWindow := 50;
S := "05.10.22";
DT := StrToDateTime(S, FS)
end
← →
Opilki_Inside © (2006-01-30 18:27) [9]Yanis, не верно.
Я сначала написал про функцию DateFormat , и в нее передается именно формат! (format), а не установки (format settings). А в StrToDate передаются именно format settings. И искал я функцию обратную, DateFormat.
Да я же тебе объяснил что написать парсер - не проблема, думал что существует стандартная функция. Ну раз ее не существует то так и нужно было сказать, а не тыкать носом в функцию с которой это и так не получится.
← →
Opilki_Inside © (2006-01-30 18:27) [10]Yanis, не верно.
Я сначала написал про функцию DateFormat , и в нее передается именно формат! (format), а не установки (format settings). А в StrToDate передаются именно format settings. И искал я функцию обратную, DateFormat.
Да я же тебе объяснил что написать парсер - не проблема, думал что существует стандартная функция. Ну раз ее не существует то так и нужно было сказать, а не тыкать носом в функцию с которой это и так не получится.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c