Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.10;
Скачать: CL | DM;

Вниз

EncodeDate vs. StrToDate   Найти похожие ветки 

 
FS   (2009-03-30 16:45) [0]

В каком случае будет работать быстрее?

dt1 := StrToDateTime(Copy(field_value, 7, 4) + DateSeparator +
   Copy(field_value, 4, 2) + DateSeparator + Copy(field_value, 1, 2)
   + " " + Copy(field_value, 12, 2) + TimeSeparator + Copy(field_value, 15, 2));


или

 dt1 := EncodeDateTime(StrToInt(Copy(field_value, 7, 4)),
   StrToInt(Copy(field_value, 4, 2)) , StrToInt(Copy(field_value, 1, 2)),
   StrToInt(Copy(field_value, 12, 2)), StrToInt(Copy(field_value, 15, 2)),
   0, 0);


 
Игорь Шевченко ©   (2009-03-30 16:52) [1]

в обоих медленно


 
Юрий Зотов ©   (2009-03-30 16:54) [2]

Быстрее (и проще) будет использование поля типа TDateTime, а не строкового.


 
Сергей М. ©   (2009-03-30 16:55) [3]

Оба случая не фонтан.
А в каком формате представлены данные в field_value ?
Уж не DD.MM.YYYY HH:MM ли ?


 
FS   (2009-03-30 16:56) [4]

Игорь Шевченко, Юрий Зотов
А если все-таки нужно преобразовывать строку что посоветуете?


 
FS   (2009-03-30 16:57) [5]


> А в каком формате представлены данные в field_value ?

dd.mm.yyyy hh:mm


 
Сергей М. ©   (2009-03-30 16:59) [6]

StrToFateTime(field_value)


 
Anatoly Podgoretsky ©   (2009-03-30 17:02) [7]

> Юрий Зотов  (30.03.2009 16:54:02)  [2]

А что тогда кодировать?


 
Anatoly Podgoretsky ©   (2009-03-30 17:02) [8]

> FS  (30.03.2009 16:56:04)  [4]

А померять?


 
FS   (2009-03-30 17:06) [9]


> А померять?

Т.е.


 
Правильный$Вася   (2009-03-30 17:10) [10]


> FS   (30.03.09 17:06) [9]

полмиллиона циклов для случайных дат для каждого случая и сравнить


 
Игорь Шевченко ©   (2009-03-30 17:59) [11]


> А померять?


ну не всегда удобно


 
Eraser ©   (2009-03-30 18:03) [12]

> [0] FS   (30.03.09 16:45)

из опыта могу сказать, что про существование функции StrToDateTime (и её произволных) можно смело забыть. если оно сейчас и работает, то в будущем обязательно получите грабли, если не вы конкретно, то последователи. и все равно прийдется переделывать.


 
FS   (2009-03-30 18:13) [13]

Нашел один из вариантов как можно сделать:

GetLocaleFormatSettings(LOCALE_USER_DEFAULT, FormatSettings);
 FormatSettings.DateSeparator := ".";
 FormatSettings.TimeSeparator := ":";
 FormatSettings.ShortDateFormat := "dd.mm.yyyy";
 FormatSettings.LongTimeFormat := "hh:nn:ss";
 dt1 := StrToDateTime("30.03.2009 16:44:12", FormatSettings);


 
Игорь Шевченко ©   (2009-03-30 18:33) [14]


> из опыта могу сказать, что про существование функции StrToDateTime
> (и её произволных) можно смело забыть. если оно сейчас и
> работает, то в будущем обязательно получите грабли, если
> не вы конкретно, то последователи. и все равно прийдется
> переделывать.


Странно. Работает уже лет 8. Что-то я сделал не так в самом начале, очевидно


 
Eraser ©   (2009-03-30 18:53) [15]

> [14] Игорь Шевченко ©   (30.03.09 18:33)

пока работает )


 
Anatoly Podgoretsky ©   (2009-03-30 19:18) [16]

> Игорь Шевченко  (30.03.2009 17:59:11)  [11]

А если в килограммах?


 
MsGuns ©   (2009-03-31 00:51) [17]

>Eraser ©   (30.03.09 18:03) [12]
>если оно сейчас и работает, то в будущем обязательно получите грабли, >если не вы конкретно, то последователи. и все равно прийдется >переделывать.

Все там будем ;(


 
Германн ©   (2009-03-31 01:12) [18]


> MsGuns ©   (31.03.09 00:51) [17]
>
> >Eraser ©   (30.03.09 18:03) [12]
> >если оно сейчас и работает, то в будущем обязательно получите
> грабли, >если не вы конкретно, то последователи. и все равно
> прийдется >переделывать.
>
> Все там будем ;(

Кроме меня, АП и Кэтмара!
:)


 
Anatoly Podgoretsky ©   (2009-03-31 07:39) [19]

> Германн  (31.03.2009 1:12:18)  [18]

Правильно, ни к чему хоронить неубитых медведей.



Страницы: 1 вся ветка

Текущий архив: 2009.05.10;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.007 c
2-1238514525
Б
2009-03-31 19:48
2009.05.10
Как пользоваться GetKeyNameText?


2-1238484507
deras
2009-03-31 11:28
2009.05.10
Как синхронизировать данные в разных БД?


15-1236184377
It's not me
2009-03-04 19:32
2009.05.10
Можно определить, что адрес является широковещательным?


2-1237963003
Coming
2009-03-25 09:36
2009.05.10
Не понятная ситуация с копированием файла


2-1238489662
Лёша
2009-03-31 12:54
2009.05.10
SQL. Как вывести список дат по диапазону?