Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.09 c
15-1265395623
GreyWolf
2010-02-05 21:47
2010.08.27
Ищу Fix for QC report 37403


15-1268861402
Юрий
2010-03-18 00:30
2010.08.27
С днем рождения ! 18 марта 2010 четверг


15-1271655350
Валерий М.
2010-04-19 09:35
2010.08.27
Принтер и логи


15-1265977848
TStas
2010-02-12 15:30
2010.08.27
Из любопытства: как функция возвращает значение?


15-1263970917
Дмитрий С
2010-01-20 10:01
2010.08.27
Программа такая как IBExpert, только для Mysql?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский