windows以及linux獲取系統時間

查志強發表於2014-06-12

【原文:http://hi.baidu.com/tekuba/item/7cd3a20c0e548978bee97e71

一,windows獲取系統時間方法

http://blog.sina.com.cn/s/blog_7cd16d840100qmmm.html

獲取系統時間,這個方法比較簡單

SYTimeEMTIME Time={0};
GetLocalTime(&Time);//獲得當前本地時間
GetSyTimeemTime(&Time);//這一個是獲得格林威治時間,一般不用

SYTimeEMTIME結構說明
typedef struct _SYSTEMTIME {
    WORD wYear;  //年
    WORD wMonth; //月
    WORD wDayOfWeek; //星期
    WORD wDay;  //日
    WORD wHour;  //小時
    WORD wMinute; //分
    WORD wSecond; //秒
    WORD wMilliseconds;//毫秒
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;

 

測試程式碼如下(VC 6.0):

#include<iostream.h>
#include<windows.h>

int main()
{
 SYSTEMTIME Time={0};
 GetLocalTime(&Time);//獲得當前本地時間
 //GetSystemTime(&Time);//這一個是獲得格林威治時間,一般不用

 cout<<Time.wYear<<".";
 cout<<Time.wMonth<<".";
 cout<<Time.wDay<<" ";
 cout<<Time.wHour<<":";
 cout<<Time.wMinute<<":";
 cout<<Time.wSecond<<endl;

 return 0;
}

二,linux獲取系統時間方法

可以用 localtime 函式分別獲取年月日時分秒的數值。

Linux下獲得系統時間的C語言的實現方法:

1. 可以用 localtime 函式分別獲取年月日時分秒的數值。

#include<time.h>     //C語言的標頭檔案

#include<stdio.h>     //C語言的I/O

void   main()

{

time_t   now;         //例項化time_t結構

struct   tm     *timenow;         //例項化tm結構指標

time(&now);

//time函式讀取現在的時間(國際標準時間非北京時間),然後傳值給now

timenow   =   localtime(&now);

//localtime函式把從time取得的時間now換算成你電腦中的時間(就是你設定的地區)

printf("Local   time   is   %s\n",asctime(timenow));

//上句中asctime函式把時間轉換成字元,通過printf()函式輸出

}

註釋:time_t是一個在time.h中定義好的結構體。而tm結構體的原形如下:

struct   tm

{

int   tm_sec;//seconds   0-61

int   tm_min;//minutes   1-59

int   tm_hour;//hours   0-23

int   tm_mday;//day   of   the   month   1-31

int   tm_mon;//months   since   jan   0-11

int   tm_year;//years   from   1900

int   tm_wday;//days   since   Sunday,   0-6

int   tm_yday;//days   since   Jan   1,   0-365

int   tm_isdst;//Daylight   Saving   time   indicator

};

 


相關文章