如何利用C语言来获取当地时间和UTC时间? (设当地时间是北京时间)

#include    
#include    

int main()
{
	time_t t = time(NULL); 
	tm *tp = localtime(&t); 
	
	// 北京时间
	printf("%d/%d/%d\n", tp->tm_mon+1, tp->tm_mday, tp->tm_year + 1900);  
	printf("%d:%d:%d\n", tp->tm_hour, tp->tm_min, tp->tm_sec); 
	
	return 0;
}

#include    
#include    

int main()
{
	time_t t = time(NULL);  // UTC秒数
	tm *tp = localtime(&t); 

	// 北京时间
	printf("%d/%d/%d\n", tp->tm_mon+1, tp->tm_mday, tp->tm_year + 1900);  
	printf("%d:%d:%d\n", tp->tm_hour, tp->tm_min, tp->tm_sec); 

	// UTC今天秒数
	int second1 = t % (24 * 60 * 60);
	printf("%d\n", second1);

	// 北京时间今天秒数
	int second2 = tp->tm_hour * 3600 + tp->tm_min * 60 + tp->tm_sec;
	printf("%d\n", second2);

	// UTC时间与北京时间相隔的小时数
	printf("%d\n", (second1 - second2) / 3600); // -8
	
	return 0;
}

#include    
#include    
#include 

int main(int argc, char* argv[])
{
	SYSTEMTIME stCurTime = {0};
	GetSystemTime(&stCurTime); // UTC时间
	printf("%d/%d/%d\n", stCurTime.wMonth, stCurTime.wDay, stCurTime.wYear);  
	printf("%d:%d:%d\n", stCurTime.wHour, stCurTime.wMinute, stCurTime.wSecond); 

	printf("----------\n");

	GetLocalTime(&stCurTime);  // 北京时间
	printf("%d/%d/%d\n", stCurTime.wMonth, stCurTime.wDay, stCurTime.wYear);  
	printf("%d:%d:%d\n", stCurTime.wHour, stCurTime.wMinute, stCurTime.wSecond); 
	
	return 0;
}

你可能感兴趣的:(S1:,C/C++)