![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DecodeDate [Delphi, Windows]
Kirill © (2007-08-07 00:28:00)Не знаю даже куда писать?
Создал пустое приложение на Delphi
procedure TForm1.FormCreate(Sender: TObject);Показывает 2007
var wYear, wDay, wMonth : word;
begin
DecodeDate(Now,wYear,wMonth,wDay);
ShowMessage(IntToStr(wYear));
end;
В своей программе использую synautil
в ней функция
function Rfc822DateTime(t: TDateTime): string;
var
wYear, wMonth, wDay: word;
begin
DecodeDate(t, wYear, wMonth, wDay);
Result := Format('%s, %d %s %s %s', [MyDayNames[DayOfWeek(t)], wDay,
MyMonthNames[1, wMonth], FormatDateTime('yyyy hh":"nn":"ss', t), TimeZone]);
end;
исправилfunction Rfc822DateTime(t: TDateTime): string;и перадаю Now
var
wYear, wMonth, wDay: word;
begin
DecodeDate(t, wYear, wMonth, wDay);
MessageBox(0,PChar(IntToStr(wYear)),'Test',0);
Result := Format('%s, %d %s %s %s', [MyDayNames[DayOfWeek(t)], wDay,
MyMonthNames[1, wMonth], FormatDateTime('yyyy hh":"nn":"ss', t), TimeZone]);
end;
в итоге вижу 3906.
Написал такойprogram Project1;Результат 2007.
uses
Kol;
var wYear, wDay, wMonth : word;
begin
DecodeDate(Now,wYear,wMonth,wDay);
MsgOK(Int2Str(wYear));
end.
Не понимаю - кто виноват? synautil?
Kirill (2007-08-07 10:23:00) [1]Joe,
Thank you very much. This work!
Jon (2007-08-07 03:44:00) [2]See my reply in the Synapse mailing list.
Do not mix VCL and KOL DateTime functions!
In SynaUtil uses section replace SysUtils with KOL.
From the KOL documentation:
const VCLDate0 = 693594;
Value to convert VCL "date 0" to KOL "date 0" and
back. This value corresponds to 30-Dec-1899, 0:00:00.
So, to convert VCL date to KOL date, just subtract
this value from VCL date. And to convert back from KOL
date to VCL date, add this value to KOL date.
Kirill (2007-08-07 00:32:00) [3]Вряд ли.
Может ли Now меняться в программе?
В пустой программе он равен 39300,...
В моей больше 700000,...