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

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

TIME_ZONE_INFORMATION & GetTimeZoneInformation [D5, Win95/98, WinME]


NikolaB ©   (2003-02-01 19:32:00) 

Est li v Windows gotovaia function, kotoroia pereobrazuet "Day-in-month format" TIME_ZONE_INFORMATION v nastoiaschee DateTime (ili SystemTime)?
Ia ne nashol, poetomu - napisal, no mojet kto-to znaet original.
Nelzia li ukazat GetTimeZoneInformation vozvraschat tochnoe SystemTime, a ne SystemTime "Day-in-month format"?

{}function MonthSystemTimeToDateTime(var aSysDT {"Day-in-month format, wYear=0"}: tSystemTime): tDateTime;
var
xSysDT : tSystemTime;
xDtTm : tDateTime;
xDay : integer;
begin
try
with aSysDT do begin
if (wYear=0) and (wDay in [1,5]) then begin
DateTimeToSystemTime(Date,xSysDT);
xDay := wDay;
wYear := xSysDT.wYear;
wDay := 1;
xDtTm := SystemTimeToDateTime(aSysDT);
DateTimeToSystemTime(xDtTm,aSysDT);
if wDayOfWeek<=6 then begin
inc(wDay,6-wDayOfWeek);
end else begin
inc(wDay,13-wDayOfWeek);
end;
if xDay=5 then begin
xDay:=DayOfMonths(wYear,wMonth);
while wDay<=xDay do begin
inc(wDay,7);
end;
dec(wDay,7);
end;
end;
end;
except
end;
Result:=SystemTimeToDateTime(aSysDT);
end;


Игорь Шевченко   (2003-02-03 10:08:00) [1]

В кладовке, в разделе "Готовые программы" есть программа QuerySystemInformation, кроме всего прочего там и работа с датами в системном формате. Глянь, может, что пригодится.


Наверх

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