Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизРабота с датами Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.074 c