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

Вниз

Алгоритм по формированию времени с помощью 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
2-1214382141
Jimmy
2008-06-25 12:22
2008.07.27
RunTimeError 216


2-1214474241
Fobiya
2008-06-26 13:57
2008.07.27
Реакция на нажатие правой кнопки мыши


2-1214300224
qwert
2008-06-24 13:37
2008.07.27
Запуск *,exe


1-1195799680
TheEd
2007-11-23 09:34
2008.07.27
Как корректно организовать "ждущую" функцию?


2-1214217352
tey
2008-06-23 14:35
2008.07.27
текст в непонятой кодировке