![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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, кроме всего прочего там и работа с датами в системном формате. Глянь, может, что пригодится.