如何获取当前时间
? ? ? ? ? ? ? ? 有時候代碼中需要獲取當前時間,那怎么做呢,今天來學習一下。
#include<stdio.h> #include<time.h>void unixTime2Str(int n, char strTime[], int bufLen) { struct tm tm = *localtime((time_t *)&n);//localtime函數返回當前時區的時間,返回值為struct tm*//strftime函數對tm結構所代表的時間和日期進行格式編排,其結果放在字符串strTime中strftime(strTime, bufLen - 1, "%Y-%m-%d-%w %H:%M:%S", &tm); strTime[bufLen - 1] = '\0'; }int main() {char strTime[100] = {0}; int now = time(NULL);//time()函數來獲得日歷時間,time_t實際上就是長整型long int,這種類型就是用來存儲從1970年到現在經過了多少秒unixTime2Str(now, strTime, sizeof(strTime));printf("%s\n", strTime);return 0; }打印:星期6-2017-06-17-6 15:41:36看看tm結構體
struct tm
{
? ? int tm_sec; ?//秒,正常范圍0-59, 但允許至61
? ? int tm_min; ?//分鐘,0-59
? ? int tm_hour; //小時, 0-23
? ? int tm_mday; //日,即一個月中的第幾天,1-31
? ? int tm_mon; ?//月, 從一月算起,0-11 ?1+p->tm_mon;
? ? int tm_year; ?//年, 從1900至今已經多少年 ?1900+ p->tm_year;
? ? int tm_wday; //星期,一周中的第幾天, 從星期日算起,0-6
? ? int tm_yday; //從今年1月1日到目前的天數,范圍0-365
? ? int tm_isdst; //日光節約時間的旗標
}
struct tm tm中,struct tm為tm結構體,后面的tm為結構體變量。time(NULL)返回一個時間戳,在linux下用date -d@時間戳 可以打印出這個對應正常時間。注意%Y-%m-%d-%w %H:%M:%S格式中的大小寫。
學習地址:http://blog.csdn.net/stpeace/article/details/73065144
? ? ? ? ? ? ? ?
總結
- 上一篇: 网址http格式的拆分
- 下一篇: 十进制数转为十六进制字符串