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

Вниз

Работа с датами   Найти похожие ветки 

 
03111978   (2010-05-20 09:12) [0]

Имеется дата, которая записана в строковую переменную, например - 19.05.2010, нужно найти предыдущую дату и записать ее в переменную. Подскажите советом.


 
turbouser ©   (2010-05-20 09:12) [1]

Чего?


 
03111978   (2010-05-20 09:13) [2]


> Чего?


Есть некая дата, нужно программно найти предыдущую


 
turbouser ©   (2010-05-20 09:15) [3]


> 03111978   (20.05.10 09:13) [2]

Найти в где?
Если просто вычесть день, то
uses DateUtils
IncDay(MyDateTime,-1)


 
RWolf ©   (2010-05-20 09:16) [4]

prevdate:=strtodate(mydatestr)-1;


 
03111978   (2010-05-20 09:35) [5]


> RWolf ©   (20.05.10 09:16) [4]


если так, то почему то не работает :-(

var
File_Rec : TSearchRec;
DateTime,prevdate : TDateTime;
datafile : string;
begin
findFirst("c:\rp180506.035", 1, File_Rec);
DateTime := FileDateToDateTime(File_Rec.Time);
datafile := DateToStr(DateTime);
prevdate := strtodate(datafile)-1;
end;

что я не так сделал ?


 
Sergey13 ©   (2010-05-20 09:38) [6]

> [0] 03111978   (20.05.10 09:12)
> Имеется дата, которая записана в строковую переменную

Не нашел подходящего типа?


 
03111978   (2010-05-20 09:39) [7]


> Не нашел подходящего типа?


Просто мне потом с этой строкой работать


 
Омлет ©   (2010-05-20 09:49) [8]

> 03111978   (20.05.10 09:35) [5]

prevdate := FileDateToDateTime(File_Rec.Time) - 1;


 
03111978   (2010-05-20 09:56) [9]

Что то не понял. Во до этого момента работает :


findFirst(p + "rp180506.035", 1, File_Rec);
DateTime := FileDateToDateTime(File_Rec.Time);
datafile := DateToStr(DateTime);


В datafile лежит 19.05.2010
В DateTime лежит 40317.120648

Значит я в итоге должен получить:

18.05.2010
40316.120648


 
RWolf ©   (2010-05-20 10:10) [10]

почему бы prevdate не вычислять сразу, как DateTime-1, без лишних преобразований?


 
Sergey13 ©   (2010-05-20 10:18) [11]

> [7] 03111978   (20.05.10 09:39)
> Просто мне потом с этой строкой работать

Судя по вопросу работать тебе надо как раз таки с датой. Просто иногда результат работы интерпретировать как строку.


 
03111978   (2010-05-20 11:14) [12]


> почему бы prevdate не вычислять сразу, как DateTime-1, без
> лишних преобразований?


Допустим даже если я делаю так :

prevdate := DateTime - 1;

в prevdate ничего нет, там 0


 
RWolf ©   (2010-05-20 11:32) [13]

время модификации файла проще получать через FileAge.


 
Плохиш ©   (2010-05-20 11:34) [14]


> 03111978   (20.05.10 11:14) [12]

Вот скажи, нафига в делфи отладчик встроили?
И зачвм оно тебе, это программирование? Зачёт спихнуть?


 
Anatoly Podgoretsky ©   (2010-05-20 13:25) [15]

> 03111978  (20.05.2010 09:12:00)  [0]

Это не дата, а строка.


 
Anatoly Podgoretsky ©   (2010-05-20 13:27) [16]

> 03111978  (20.05.2010 11:14:12)  [12]

Значит в DateTime единица


 
03111978   (2010-05-20 13:34) [17]


> Anatoly Podgoretsky ©   (20.05.10 13:27) [16]


Спасибо, разобрался.

> Плохиш ©   (20.05.10 11:34) [14]


А ты плохиш отдыхай и не умничай, зачеты я в свое время уже насдавался.


 
Sha ©   (2010-05-20 15:40) [18]

>> Не нашел подходящего типа?
> Просто мне потом с этой строкой работать

Строки предназначены для ввода/отображения. Для работы есть другой тип,
ты же не складываешь строки, когда требуется сложить 2 числа.


 
Anatoly Podgoretsky ©   (2010-05-20 16:01) [19]


> Плохиш ©   (20.05.10 11:34) [14]


> 03111978   (20.05.10 13:34) [17]

Я же говорил, ты не умничай, ты код давай!


 
Плохиш ©   (2010-05-20 16:25) [20]


> Anatoly Podgoretsky ©   (20.05.10 16:01) [19]

Это называется не "давай", а "подай" сирому и убогому.



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

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

Наверх




Память: 0.51 MB
Время: 0.077 c
15-1268429405
Юрий
2010-03-13 00:30
2010.08.27
С днем рождения ! 13 марта 2010 суббота


2-1270572897
alla4ka
2010-04-06 20:54
2010.08.27
массив+файл


6-1223337489
Вэн
2008-10-07 03:58
2010.08.27
Рассылка сообщений в лок. сети


4-1233902268
svl42
2009-02-06 09:37
2010.08.27
Копирование файлов из Recycler Bin


2-1269514776
ComeGetSome
2010-03-25 13:59
2010.08.27
Интерфейс Delphi