Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.008 c
2-1214232759
User
2008-06-23 18:52
2008.07.27
Поиск файлов


15-1212838198
Vlad Oshin
2008-06-07 15:29
2008.07.27
как сделать кнопку в IDE, выполняющую некое действие в редакторе


3-1203079907
SerMaxx
2008-02-15 15:51
2008.07.27
Список таблиц базы данных


15-1213375788
-koha
2008-06-13 20:49
2008.07.27
Всем смотреть!


2-1214396148
lewka-serdceed
2008-06-25 16:15
2008.07.27
считавание с web страниц





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