Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

E-Mail Indi 10 (BDS 4) TIdMessage DateTime format [WinXP]


Страницы:   1 2

iXT ©   (2006-11-08 17:32:00) 

Время доброе всем.

Есть вопросик. При создании сообщения (TIdMessage) значение Date: ............ hh:mm:ss +0000

Логично, что из-за этого при приеме время улетает на 3 (ну у кого как) часа
Почему он ставит "нулевой часовой пояс". Где какую галку поставить
P.S.
 В окнах все стоит как надо: +3


Anatoly Podgoretsky   (2006-11-09 16:36:00) [21]

> iXT  (09.11.2006 16:22:07)  [7]

Что то я не видел этой строки Date: Thu, 9 Nov 2006 11:52:03 +0000 раньше!

Это нормальное, локальное, зимнее время со смещением 0, такое время наблюдается на нулевом меридиане, например в Гринвиче. По формату соответствует RFC
Если уберешь +0000 то это будет абсолютное время


iXT   (2006-11-09 16:22:00) [22]

2 Anatoly Podgoretsky

Ну какой тут треп???
Помоему все, очень даже, конкретно сказано

 IdMessage.Clear;
 IdMessage.From.Name:='Sender';
 IdMessage.From.Address:='sender@local.net';
 IdMessage.Recipients.EMailAddresses:='reciver@local.net';
 IdMessage.Subject:='Test message with attachment';
 IdMessage.SaveToFile('c:\test.msg');


Получаем

From: "Sender" <sender@local.net>
Subject: Test message with attachment
To: reciver@local.net
Date: Thu, 9 Nov 2006 11:52:03 + 0000

.
при изменение UseNowFor Date получаем такой же результат

> Дату для данного случая надо понимать как дату + время,
> плюс смещение и плюс то что ты не сумел привести


Что значит не сумел привести??? Если "Now - x/24", то мы получим:
Date: Thu, 9 Nov 2006 08:52:03 +0000
а надо:
Date: Thu, 9 Nov 2006 11:52:03 +0300

Есть
TIdDateTimeStamp
"Класс для выполнения математических действий с датой и временем, связанных с тем, что Интернет-протоколы используют различные форматы даты и времени; кроме того, клиенты и серверы могут находиться в различных часовых поясах."

Но как его юзать пока не допетрил!


Anatoly Podgoretsky   (2006-11-09 13:26:00) [23]

Дату для данного случая надо понимать как дату + время, плюс смещение и плюс то что ты не сумел привести. Дата должна быть в соответствии с RFC

> Сво-во UseNowForDate и true и false,

Это слова, а у нас принято фактами оперировать, иначе будем трепаться, раз автор трепется.

ЗЫ: Инди она поставляется в исходных текстах!!!


iXT   (2006-11-09 11:53:00) [24]


> что в этом св-ве - время в локальной зоне

Это свойство я не заполняю - это раз. Сво-во UseNowForDate и true и false, хотя дату ставит текущую всеравно (может потому что Date пустое)


> На основание, что ты ему не оставил другой возможности.

Какой я плохой, а если можно, то в каком "месте" у него появится эта другая возможность?


Anatoly Podgoretsky   (2006-11-09 11:28:00) [25]

> iXT  (09.11.2006 11:04:02)  [2]

На основание, что ты ему не оставил другой возможности.


umbra   (2006-11-09 11:27:00) [26]

ну, в справке написано, что в этом св-ве - время в локальной зоне. Может поэтому и пишут +0000
а может авторы так шутят. Вот, например, я долго думал, почему у меня не работает TIdConnectTroughHTTPProxy. Затем полез в исходники, а в модуле комментарий типа "допишите этот класс и поместите в другой модуль". Шутники.


iXT   (2006-11-09 11:04:00) [27]

Согласен, этот вариант всегда есть, НО

на каком основании он вставляет +0000? Ставил уж тогда бы из Widows. Ведь это время создания сообщения, TDateTime - текущее тремя вставил, а затем так просто: "+0000".


umbra   (2006-11-09 10:53:00) [28]

потому, что св-во TIdMessage.Dateимеет тип TDateTime, который ничего про часовые пояса не знает. Надо вручную править заголовок, прописывая нужное смещение


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо