欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言時間函數(shù)的ctime()和gmtime()你了解嗎

 更新時間:2022年02月18日 16:49:38   作者:嵌入式@hxydj  
這篇文章主要為大家詳細介紹了C語言時間函數(shù)的ctime()和gmtime(),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

函數(shù)原型如下:

 __CRT_INLINE char *__cdecl ctime(const time_t *_Time);
 __CRT_INLINE struct tm *__cdecl gmtime(const time_t *_Time);

ctime函數(shù)

ctime函數(shù)可以將當前時間值轉換為字符串格式返回。返回的字符串格式為:Www Mmm dd hh:mm:ss yyyy 其中,Www 表示星期幾,Mmm 是以字母表示的月份,dd 表示一月中的第幾天,hh:mm:ss 表示時間,yyyy 表示年份。

當前時間值需要通過time函數(shù)獲取,通過time函數(shù)獲取從 1970-01-01 00:00:00 開始到現(xiàn)在所經過的秒數(shù)。然后將這個秒數(shù)作為參數(shù)傳遞到ctime函數(shù)中,ctime函數(shù)將這個秒數(shù)轉換為當前時間格式的字符串返回。

下面通過一個簡單的例子演示一下ctime函數(shù)的用法。

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

int main(int argc, char** argv)
{
	time_t now_time;

	time(&now_time);

	printf("%s ",ctime(&now_time));

	return 0;
}

首先通過time函數(shù)獲取時間計數(shù)值,然后再將這個計數(shù)值傳入ctime函數(shù),然后使用 printf函數(shù)將 ctime函數(shù)返回的字符串打印出來。程序運行結果如下:

image.png

gmtime函數(shù)

gmtime函數(shù)是把日期和時間轉換為格林威治(GMT)時間的函數(shù)。將參數(shù)time 所指的time_t 結構中的信息轉換成真實世界所使用的時間日期表示方法,然后將結果由結構tm返回。

這個理解起來有點抽象,下面直接通過代碼來演示gmtime函數(shù)的用法。

時間結構信息如下:

struct tm {
   int tm_sec;         /* 秒,范圍從 0 到 59                */
   int tm_min;         /* 分,范圍從 0 到 59                */
   int tm_hour;        /* 小時,范圍從 0 到 23              */
   int tm_mday;        /* 一月中的第幾天,范圍從 1 到 31     */
   int tm_mon;         /* 月份,范圍從 0 到 11              */
   int tm_year;        /* 自 1900 起的年數(shù)                 */
   int tm_wday;        /* 一周中的第幾天,范圍從 0 到 6     */
   int tm_yday;        /* 一年中的第幾天,范圍從 0 到 365   */
   int tm_isdst;       /* 夏令時                           */    
};

這個時間結構的定義在頭文件time.h中。

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

int main(int argc, char** argv)
{
    char *wday[]= {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
	time_t timep;
	struct tm *p;
	time(&timep);
	p=gmtime(&timep); /* 獲取系統(tǒng)當前時間 */
	printf("%d年 %02d月 %02d日",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);
	printf("%s %02d:%02d:%02d\n",wday[p->tm_wday],(p->tm_hour+8),p->tm_min,p->tm_sec);

	return 0;
}

系統(tǒng)運行結果如下:

image.png

在這里要注意一點,系統(tǒng)返回的年數(shù)是從1900年開始計算的,所以在打印年份的時候記得要在年份的值上加上1900。

通過上面兩個函數(shù)對吧看出通過ctime函數(shù)得到的時間格式是字符串形式的,通過gmtime函數(shù)得到的時間格式是結構體形式的。在程序中更加自己的需要選擇來調用不同的函數(shù)。

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!      

相關文章

  • C++11計時器之chrono庫簡介

    C++11計時器之chrono庫簡介

    C++11有了chrono庫,可以在不同系統(tǒng)中很容易的實現(xiàn)定時功能,要使用chrono庫,需要#include,其所有實現(xiàn)均在std::chrono namespace下,本文給大家介紹C++11計時器:chrono庫介紹,感興趣的朋友一起看看吧
    2023-12-12
  • C++實現(xiàn)LeetCode(40.組合之和之二)

    C++實現(xiàn)LeetCode(40.組合之和之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(40.組合之和之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • STL容器之list源碼詳細解讀

    STL容器之list源碼詳細解讀

    這篇文章主要介紹了STL容器之list源碼詳細解讀,相對于vector的連續(xù)線性空間,list就顯得更加復雜,它每插入或者刪除一個元素,就配置或釋放一個元素空間,需要的朋友可以參考下
    2024-01-01
  • 淺析C語言編程中的數(shù)組越界問題

    淺析C語言編程中的數(shù)組越界問題

    這篇文章主要介紹了淺析C語言編程中的數(shù)組越界問題,通過內存空間來討論其導致的程序崩潰問題,需要的朋友可以參考下
    2015-11-11
  • C語言學習之指針的使用詳解

    C語言學習之指針的使用詳解

    想突破C語言的學習,對指針的掌握是非常重要的,本文為大家總結了C語言中指針的相關知識點,文中的示例代碼講解詳細,感興趣的小伙伴可以學習一下
    2022-10-10
  • C語言數(shù)組詳細介紹

    C語言數(shù)組詳細介紹

    大家好,本篇文章主要講的是C語言數(shù)組詳細介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 淺析C++中單鏈表的增、刪、改、減

    淺析C++中單鏈表的增、刪、改、減

    以下是對C++中單鏈表的增、刪、改、減進行了詳細的介紹,需要的朋友可以過來參考下
    2013-09-09
  • vector,map,list,queue的區(qū)別詳細解析

    vector,map,list,queue的區(qū)別詳細解析

    如果我們需要隨機訪問一個容器則vector要比list好得多。如果我們已知要存儲元素的個數(shù)則vector 又是一個比list好的選擇。如果我們需要的不只是在容器兩端插入和刪除元素則list顯然要比vector好
    2013-09-09
  • VS2019+Opencv4.0+Win10配置詳解

    VS2019+Opencv4.0+Win10配置詳解

    這篇文章主要介紹了VS2019+Opencv4.0+Win10配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • C++實現(xiàn)插入排序對整數(shù)數(shù)組排序

    C++實現(xiàn)插入排序對整數(shù)數(shù)組排序

    這篇文章主要為大家詳細介紹了C++實現(xiàn)插入排序對整數(shù)數(shù)組排序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論