1. 程式人生 > >如何利用C語言來獲取當地時間和UTC時間? (設當地時間是北京時間)

如何利用C語言來獲取當地時間和UTC時間? (設當地時間是北京時間)

#include  <stdio.h>  
#include  <time.h>  

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  <stdio.h>  
#include  <time.h>  

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  <time.h>  
#include  <stdio.h>  
#include <wtypes.h>

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;
}