调用微软系统自带 kernel32.dll, 利用里面的 GetTimeZoneInformation(..) API 把本机的时间和时区调出, 系统本身也处理的欧美时区的冬令和夏令时间.
#import "kernel32.dll"
int GetTimeZoneInformation( int& TZInfoArray[] );
#import
#define TIME_ZONE_ID_UNKNOWN 0
#define TIME_ZONE_ID_STANDARD 1
#define TIME_ZONE_ID_DAYLIGHT 2
int TZInfoArray[43];
datetime TimeGMTConversion() //modified by euclid
{
int ret = GetTimeZoneInformation( TZInfoArray );
int bias = TZInfoArray[0];
if ( ret == TIME_ZONE_ID_STANDARD ) bias += TZInfoArray[21];
if ( ret == TIME_ZONE_ID_DAYLIGHT ) bias += TZInfoArray[42];
return( TimeLocal() + bias * 60 );
}
发表评论