Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.015 c
2-1139161960
CMOS
2006-02-05 20:52
2006.03.05
Начала ООП


2-1140079974
Daria
2006-02-16 11:52
2006.03.05
посчитать максимольное количество строк для разбивки ячейки


2-1140010647
ButtonExplorer
2006-02-15 16:37
2006.03.05
Правильно ли так проверять, создан ли компонент?


2-1140085412
Creative
2006-02-16 13:23
2006.03.05
обнуление поля при выбранном чекбоксе


2-1140033420
49 Cent
2006-02-15 22:57
2006.03.05
Может ли Dbgrid отображать подтаблицу?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский