![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование переменных [D7, XP]
webpauk © (2008-06-19 12:42:00)как из 2 переменных типа TDate, TTime получить переменную типа TDateTime?
korneley (2008-06-20 10:58:00) [1]
> Anatoly Podgoretsky © (20.06.08 10:05) [23]
Ну, тогда можно и так: "Сколько (к) сегодня не добавляй, сегодня и останется" :)
Anatoly Podgoretsky (2008-06-20 10:05:00) [2]> korneley (20.06.2008 0:31:22) [22]
День сегодня плюс день сегодня равно день завтра, день за день.
korneley (2008-06-20 00:31:00) [3]
> Anatoly Podgoretsky © (19.06.08 23:13) [21]
> > korneley (19.06.2008 22:33:20) [20]Я же написал зачем,
> сегодня + сегодня = завтра
С точки зрения и математики, и типа (не путать с русским неопределённым артиклем - "типа") TDateTime: какое завтра? Там глубокое будущее обрисовалось :))
Anatoly Podgoretsky (2008-06-19 23:13:00) [4]> korneley (19.06.2008 22:33:20) [20]
Я же написал зачем, сегодня + сегодня = завтра
korneley (2008-06-19 22:33:00) [5]Непонятно, чего рубиться, если ответ, согласно поставленному вопросу, был выдан в посте [1]? Животомеры тестируем? :)))
korneley (2008-06-19 22:20:00) [6]
> Игорь Шевченко © (19.06.08 19:56) [18]
> нафига складывать даты ?
Чтобы потом поспорить, как методом вычитания/деления получить кол-во месяцев и лет :)))
Игорь Шевченко (2008-06-19 19:56:00) [7]нафига складывать даты ?
Loginov Dmitry (2008-06-19 18:57:00) [8]> fD:=Now;
> fT:=Now;
> fDT:=DateOf(fD)+TimeOf(fT);
надеешься на авось?
А что будет, если
fD:=Now; - в момент 19-06-2008 23:59:59.999
fT:=Now; - в момент 20-06-2008 00:00:00.000
Корректнее:
fD:=Now;
fT:=fD;
fDT:=DateOf(fD)+TimeOf(fT);
Palladin (2008-06-19 14:37:00) [9]
> webpauk © (19.06.08 12:55) [11]
Now возвращает и дату и время
Date возвращает только дату, со пустым временем
Time возвращает только время, с пустой датой
какого ты складываешь Now с Now, что ты пытаешься получить?
Anatoly Podgoretsky (2008-06-19 14:14:00) [10]Что хочешь сделать, получить.
Сложение корректно, а вот результат не обязательно корректен.
Что должно получиться при сложение 19.06.2008 hh.mm.ss с 19.06.2008 hh.mm.ss
И зачем ты складываешь две Now, Надешсься то получится завтра?
{RASkov} (2008-06-19 12:59:00) [11]> > [7] webpauk © (19.06.08 12:51)
> > fDT:=TDate(fD)+TTime(fT);
> > вот так вот!
>
> Можно и так:
> var D, T, DT: TDateTime;
..... и т.д.
Т.е. не можно, а даже нужно! :)
{RASkov} (2008-06-19 12:57:00) [12]> [10] webpauk © (19.06.08 12:53)
> блин, не прохавало...
Пора тебя схавать...)
{RASkov} (2008-06-19 12:56:00) [13]> [7] webpauk © (19.06.08 12:51)
> fDT:=TDate(fD)+TTime(fT);
> вот так вот!
Можно и так:
var D, T, DT: TDateTime;
begin
D:=Now;
T:=Now;
DT:=Trunc(D)+Frac(T);
ShowMessage(DateTimeToStr(DT));
end;
> [9] webpauk © (19.06.08 12:52)
> почему не корректно...
> раз фурычит, значит не ошибка
Это ты так думаешь...) А другой(или ты потом) точно сломает моск в твоем коде и тогда уже будут реальные ошибки.... заметь из-за тебя, а не он(ты потом) виноват...
:о)
webpauk (2008-06-19 12:55:00) [14]fDT:=DateOf(fD)+TimeOf(fT);
а так вроде ничё!
webpauk (2008-06-19 12:53:00) [15]
> fDT:=TDate(fD)+TTime(fT);
блин, не прохавало...
webpauk (2008-06-19 12:52:00) [16]
> Нет, у тебя в данном случае не корректно. Так как ты не
> время с датой складываешь, а две даты.
почему не корректно...
раз фурычит, значит не ошибка
{RASkov} (2008-06-19 12:51:00) [17]> [5] webpauk © (19.06.08 12:50)
> папрашу....
> код всё-таки такой:
Тогда две(все) переменные в твоем случае TDateTime....
webpauk (2008-06-19 12:51:00) [18]
fDT:=TDate(fD)+TTime(fT);
вот так вот!
{RASkov} (2008-06-19 12:50:00) [19]> [3] webpauk © (19.06.08 12:47)
> корректно?
> а теперь сложи...
Нет, у тебя в данном случае не корректно. Так как ты не время с датой складываешь, а две даты.
Вникни в свой вопрос и в то что ты написал....
webpauk (2008-06-19 12:50:00) [20]
> {RASkov} © (19.06.08 12:48) [4]
папрашу....
код всё-таки такой:
fD:=Now;
fT:=Now;