Если еще актуальна тема с Гринвичем, то я определял часовой пояс так:
PHP код:
static void MVB_GetTimeZone(Args _args)
{
#define.MAX_PATH(260)
Dll kernel32;
DllFunction getTimeZoneInformation;
int secondsTimeZone;
int retVal;
binary lpTimeZoneInformation = new Binary(#MAX_PATH);
;
kernel32 = new Dll("kernel32.dll");
//---------------------------------------------------------------------------------- Чтение информации о часовом поясе
getTimeZoneInformation = new DllFunction(kernel32, "GetTimeZoneInformation");
getTimeZoneInformation.returns(ExtTypes::DWORD);
getTimeZoneInformation.arg(ExtTypes::POINTER);
retVal = getTimeZoneInformation.call(lpTimeZoneInformation);
// Из всей информации нужен только сдвиг часового пояса к Гринвичу. Он указывается в минутах
secondsTimeZone = lpTimeZoneInformation.dWord(0)*60;
print secondsTimeZone," секунд";
pause;
}