編譯時獲得系統的日期和時間

2022-06-17 19:42:12 字數 2176 閱讀 7028

__date__和__time__是c中內建的2個比較有用的巨集,它可以返回程式編譯的日期和時間。對版本控制時比較有用。本身是struct tm* 型別的,可以使用strftime()函式進行轉換

printf("%s--%s",__time__,__date__);

static time_t getdatefrommacro(char const *time) ;

static const char month_names = "janfebmaraprmayjunjulaugsepoctnovdec";

sscanf(time, "%s %d %d", s_month, &day, &year);

month = (strstr(month_names, s_month)-month_names)/3;

t.tm_mon = month;

t.tm_mday = day;

t.tm_year = year - 1900;

t.tm_isdst = -1;

return mktime(&t);

}轉換成time_t後,就已經基本上大路了。time_t包含在time.h裡

#ifndef __time_t

#define __time_t   

typedef long     time_t;  

/* 用來儲存從2023年1月1日0時0分0秒到現在時刻的秒數!

用time()這個函式獲取*/

#endif

#if((__date__[0] == 'j')&&(__date__[1] == 'a')&&(__date__[2] == 'n'))

#define monthnum 1

#elif((__date__[0] == 'f')&&(__date__[1] == 'e')&&(__date__[2] == 'b'))

#define monthnum 2

#endif

#if((__date__[0] == 'm')&&(__date__[1] == 'a')&&(__date__[2] == 'r'))

#define monthnum 3

#elif((__date__[0] == 'a')&&(__date__[1] == 'p')&&(__date__[2] == 'r'))

#define monthnum 4

#endif 

#if((__date__[0] == 'm')&&(__date__[1] == 'a')&&(__date__[2] == 'y'))

#define monthnum 5

#elif((__date__[0] == 'j')&&(__date__[1] == 'u')&&(__date__[2] == 'n'))

#define monthnum 6

#endif 

#if((__date__[0] == 'j')&&(__date__[1] == 'u')&&(__date__[2] == 'l'))

#define monthnum 7

#elif((__date__[0] == 'a')&&(__date__[1] == 'u')&&(__date__[2] == 'g'))

#define monthnum 8

#endif 

#if((__date__[0] == 's')&&(__date__[1] == 'e')&&(__date__[2] == 'p'))

#define monthnum 9

#elif((__date__[0] == 'o')&&(__date__[1] == 'c')&&(__date__[2] == 't'))

#define monthnum 0x10

#endif 

#if((__date__[0] == 'n')&&(__date__[1] == 'o')&&(__date__[2] == 'v'))

#define monthnum 0x11

#elif((__date__[0] == 'd')&&(__date__[1] == 'e')&&(__date__[2] == 'c'))

#define monthnum 0x12 

#endif 

const unsigned char version_date = ;

const unsigned char version_time = ;

在核心中如何獲得系統的日期和時間

wdm驅動中可以按照以下步驟 1.用 kequerysystemtime 獲得當前的 gmt system time.這是乙個從 1601 01 01 以來的計數 單位是 100ns 2.呼叫 exsystemtimetolocaltime 將 gmt system time 值轉換成當前時區的 l...

62 時間和日期

1.strtotime 函式 echo strtotime now 相當於將英文單詞now直接等於現在的日期和時間,並把這個日期時間轉化為unix時間戳。這個效果跟echo time 一樣。echo strtotime 1 seconds 相當於將現在的日期和時間加上了1秒,並把這個日期時間轉化為u...

python各種時間 Python日期和時間

本篇文章幫大家學習python日期和時間,包含了python日期和時間使用方法 操作技巧 例項演示和注意事項,有一定的學習價值,大家可以用來參考。通常在資料科學中,我們需要基於時間值的分析。python可以優雅地處理各種格式的日期和時間。日期時間庫提供了必要的方法和函式來處理下列情況。日期時間表示 ...