最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

函數(shù)原型如下:

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

ctime函數(shù)

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

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

下面通過一個簡單的例子演示一下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ù)返回的字符串打印出來。程序運行結(jié)果如下:

image.png

gmtime函數(shù)

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

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

時間結(jié)構(gòu)信息如下:

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;       /* 夏令時                           */    
};

這個時間結(jié)構(gòu)的定義在頭文件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)當(dā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)運行結(jié)果如下:

image.png

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

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

總結(jié)

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

相關(guān)文章

  • C++實現(xiàn)簡單貪吃蛇小游戲

    C++實現(xiàn)簡單貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)簡單貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C++ Boost shared_ptr共享指針詳細(xì)講解

    C++ Boost shared_ptr共享指針詳細(xì)講解

    shared_ptr是一個標(biāo)準(zhǔn)的共享所有權(quán)的智能指針,允許多個指針指向同一個對象,定義在memory文件中,命名空間為std,這篇文章主要介紹了C++ shared_ptr使用,需要的朋友可以參考下
    2022-11-11
  • C++實現(xiàn)LeetCode(115.不同的子序列)

    C++實現(xiàn)LeetCode(115.不同的子序列)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(115.不同的子序列),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言進(jìn)階:指針的進(jìn)階(3)

    C語言進(jìn)階:指針的進(jìn)階(3)

    這篇文章主要介紹了C語言指針詳解及用法示例,介紹了其相關(guān)概念,然后分享了幾種用法,具有一定參考價值。需要的朋友可以了解下
    2021-09-09
  • C/C++數(shù)字與字符串互相轉(zhuǎn)換的實現(xiàn)示例

    C/C++數(shù)字與字符串互相轉(zhuǎn)換的實現(xiàn)示例

    本文主要介紹了C/C++數(shù)字與字符串互相轉(zhuǎn)換的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • C++成員解除引用運算符的示例詳解

    C++成員解除引用運算符的示例詳解

    這篇文章主要介紹了C++成員解除引用運算符,本例子在編譯期間給指針賦值,在更為復(fù)雜的類中,可以使用指向數(shù)據(jù)成員和方法的成員指針,需要的朋友可以參考下
    2022-01-01
  • 使用VSCode和VS2017編譯調(diào)試STM32程序的實現(xiàn)

    使用VSCode和VS2017編譯調(diào)試STM32程序的實現(xiàn)

    這篇文章主要介紹了使用VSCode和VS2017編譯調(diào)試STM32程序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 淺談C++中的引用和指針

    淺談C++中的引用和指針

    這篇文章主要介紹了淺談C++中的引用和指針,C++允許為已定義的變量再起一個新的別名,稱為變量的引用名,引用名看起來像是一個變量名,但它是一種特殊變量,稱為引用變量,或簡稱為引用,需要的朋友可以參考下
    2023-08-08
  • 深入探討:宏、內(nèi)聯(lián)函數(shù)與普通函數(shù)的區(qū)別

    深入探討:宏、內(nèi)聯(lián)函數(shù)與普通函數(shù)的區(qū)別

    本篇文章是對宏、內(nèi)聯(lián)函數(shù)與普通函數(shù)的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++ Boost實現(xiàn)異步端口掃描器詳解

    C++ Boost實現(xiàn)異步端口掃描器詳解

    端口掃描是一種用于識別目標(biāo)系統(tǒng)上哪些網(wǎng)絡(luò)端口處于開放、關(guān)閉或監(jiān)聽狀態(tài)的網(wǎng)絡(luò)活動,本文將運用Boost框架實現(xiàn)一個基于TCP的掃描工具,有需要的小伙伴可以參考下
    2023-11-11

最新評論

揭西县| 潞城市| 三原县| 安宁市| 永和县| 绥阳县| 汉中市| 凤翔县| 高平市| 潜山县| 故城县| 牡丹江市| 衡阳县| 阿合奇县| 邢台市| 东丽区| 延庆县| 太原市| 吉隆县| 青海省| 澄江县| 遵义市| 云安县| 常山县| 东安县| 玛纳斯县| 玉树县| 泸定县| 邓州市| 海门市| 新建县| 铜山县| 抚远县| 澳门| 林芝县| 宜昌市| 五峰| 固镇县| 和政县| 长泰县| 西青区|