Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
ВнизАлгоритм по формированию времени с помощью DateTimeToString Найти похожие ветки
← →
WebSQLNeederr (2008-06-28 22:13) [0]Прошу помочь с алгоритмом.
Задача - необходимо сформировать массив времен начиная от текущего времени необходимо получить время час назад, час вперед ... потом два часа назад, два часа вперед ... и так скажем на 100 или 1000 шагов ... У кого есть какие соображения как это реализовать?
← →
WebSQLNeederr (2008-06-28 22:13) [1]Попробовал сделать что то типа DateTimeToString(st, "h+1:n:s", Now());
Но это не дает эффекта. Может это вообще как то по другому реализовать можно без DateTimeToString ?
В идеале хотелось бы что то типа SmestitDateTime(5) - сместит время на 5 часов, или SmestitDateTime(-70) сместит на 70 часов назад ...
← →
Loginov Dmitry © (2008-06-28 22:15) [2]> У кого есть какие соображения как это реализовать?
с помощью цикла, операции сложения и вычитания.
← →
Loginov Dmitry © (2008-06-28 22:17) [3]> Попробовал сделать что то типа DateTimeToString(st, "h+1:
> n:s", Now());
это что?
> В идеале хотелось бы что то типа SmestitDateTime(5) - сместит
> время на 5 часов, или SmestitDateTime(-70) сместит на 70
> часов назад ...
DateUtils.IncHour()
← →
WebSQLNeederr (2008-06-28 22:17) [4]Вот сижу сейчас пробую написать алгоритм тупого анализа времени - то есть смещаем время на 1 час и начинаем анализ если время до 24 часов значит так и формируем время а если перешагнуло то нужно сместить еще и счетчик даты ... потом анализ даты по месяцам в 30 или 31 или 28 периодов ... потом анализ по месяцам в переполнении по 12 ... Короче уже замучался ...
Может у кого то есть рабочий алгоритм или вообще что посоветуете?
← →
WebSQLNeederr (2008-06-28 22:18) [5]
> > Попробовал сделать что то типа DateTimeToString(st, "h+1:
>
> > n:s", Now());
>
>
> это что?
Это я пытался на 1 час сместить :)
← →
Игорь Шевченко © (2008-06-28 22:26) [6]
> или вообще что посоветуете?
посоветую подумать над функциями из DateUtils
← →
Тын-Дын © (2008-06-28 22:26) [7]uses DateUtils
function IncYear(const AValue: TDateTime;
const ANumberOfYears: Integer = 1): TDateTime;
// function IncMonth is in SysUtils
function IncWeek(const AValue: TDateTime;
const ANumberOfWeeks: Integer = 1): TDateTime;
function IncDay(const AValue: TDateTime;
const ANumberOfDays: Integer = 1): TDateTime;
function IncHour(const AValue: TDateTime;
const ANumberOfHours: Int64 = 1): TDateTime;
function IncMinute(const AValue: TDateTime;
const ANumberOfMinutes: Int64 = 1): TDateTime;
function IncSecond(const AValue: TDateTime;
const ANumberOfSeconds: Int64 = 1): TDateTime;
function IncMilliSecond(const AValue: TDateTime;
const ANumberOfMilliSeconds: Int64 = 1): TDateTime;
Либо простейшие операции такого рода:
procedure TForm1.Button3Click(Sender: TObject);
var
Day: Double;
Hour: Double;
Minute: Double;
Second: Double;
mSec: Double;
dt: TDateTime;
begin
Day := 1;
Hour := Day/24;
Minute := Hour/60;
Second := Minute/60;
mSec := Second/1000;
dt := now;
ShowMessage(
FormatDateTime("dd.mm.yyyy hh:nn:ss.zzz",dt)+#13#10+
FormatDateTime("dd.mm.yyyy hh:nn:ss.zzz",Now-Day*10));
end;
← →
WebSQLNeederr (2008-06-28 22:29) [8]
> Тын-Дын © (28.06.08 22:26) [7]
Спасибо, буду пробовать.
← →
WebSQLNeederr (2008-06-28 22:35) [9]
> Тын-Дын © (28.06.08 22:26) [7]
Твой алгоритм работает на ура! Ты настоящий мастер Делфи!!! ... А я тут сидел заморачивался с циклами а тут оказывается пару строк!
Еще раз спасибо за код!
← →
Тын-Дын © (2008-06-28 22:38) [10]Удалено модератором
← →
Германн © (2008-06-29 01:40) [11]Удалено модератором
← →
Johnmen © (2008-06-29 02:14) [12]Удалено модератором
← →
Тын-Дын © (2008-06-29 02:24) [13]Удалено модератором
← →
Тын-Дын © (2008-06-29 02:32) [14]Удалено модератором
← →
Германн © (2008-06-29 02:37) [15]Удалено модератором
← →
Тын-Дын © (2008-06-29 02:40) [16]Удалено модератором
Примечание: Обсуждение модерирования
← →
Германн © (2008-06-29 02:58) [17]Удалено модератором
← →
Тын-Дын © (2008-06-29 03:32) [18]Удалено модератором
← →
WebSQLNeederrr (2008-06-29 08:42) [19]Удалено модератором
Примечание: Mat
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c