Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 12:20 05.07.25 
Компютри и Интернет
   >> Delphi
*Кратък преглед

Тема DataTime - дайте идея...нови  
Автор PhantomASМодератор ()
Публикувано24.05.06 22:25



Едно въпросче за раздвижване на сивото вещество, че явно аз тотално съм забил.
Та въпроса е следния - ICQ и history-файловете - ако сте ги разглеждали -там има нещо подобно

<event>
<type>0</type>
<incoming>Yes</incoming>
<time>1144585987</time> <------- ТЕ за това става дума
<text>това трябва да е текста на съобщението.
</text>
</event>

До колкото знам DataTime-a е реално число (Double) - ама тук явно е конвертирано или кодирано по някав начин - не е само дата - ами и часа е кодиран :(
Дайте идеи - просто се базикам искам да си прекарам history-to в по нормален вид.
P.S.
сори за днешната среща ако я е имало - но бях out. Следващия път ще съм на линия.

---


Тема Re: DataTime - дайте идея...нови [re: PhantomAS]  
Автор NikB (любопитен)
Публикувано24.05.06 22:42



Прилича ми на секунди след някоя дата (за Юникс например, след 1.1.1970)
1148415667 е някъде около вчера (23-ти) след обяд или вечерта.
Твоето е с около 4 000 000 секунди по-малко (май е от преди около 40 дни), но това - ако базата е същата.



Тема И още :) [re: PhantomAS]  
Автор NikB (любопитен)
Публикувано24.05.06 22:47



xDtTm_1_1_1970 е 25569 (по оня начин, който описваш)

значи може да пробваш - това трябва да е преобразуването:

25569+(новото ти число)/24/60/60

25569+(1144585987)/24/60/60

И като напишеш нещо ценно, да го споделиш :)



Тема Re: И още :)нови [re: NikB]  
Автор PhantomASМодератор ()
Публикувано24.05.06 23:53



10x - ще пробвам - това за UNIX-a не ми беше хрумвало - язък, че последните месеци тренирах пускане и чоплене в скриптове някои от тях имаха параметри дати.

---


Тема 10x- ето и решението...нови [re: NikB]  
Автор PhantomASМодератор ()
Публикувано25.05.06 00:22



Не съм го писал аз - но пък ти ми помогна да го намеря бързо...

function UNIXTimeToDateTime(UNIXTime: LongWord): TDateTime;
var
TimeZoneInformation: TTimeZoneInformation;
begin
GetTimeZoneInformation(TimeZoneInformation);
Result := StrToDate('01/01/1970') + (UNIXTime/(24*3600)) - ((TimeZoneInformation.Bias + TimeZoneInformation.DaylightBias) / (24 * 60));
end;

function DateTimeToUNIXTime(DelphiTime : TDateTime): LongWord;
var
MyTimeZoneInformation: TTimeZoneInformation;
begin
GetTimeZoneInformation(MyTimeZoneInformation);
Result := round(DelphiTime - StrToDate('01/01/1970') + ((MyTimeZoneInformation.Bias) / (24 * 60))) * (24 * 3600);
end;

---


Тема Няма да повярваш, но точно преди 48 часанови [re: PhantomAS]  
Автор NikB (любопитен)
Публикувано25.05.06 00:38



Няма да повярваш, но точно преди 48 часа си мислех, че когато имам време ще се занимая с часовите зони на това преобразуване. Оная вечер направо извадих 3 часа от времето на сървъра и работата заспа.
Та и аз да ти благодаря, че ми спести ровене из DateTime функциите!
Все пак, когато ползваш тия времена, трябва да си сигурен, че са по гринуич.




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.