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

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

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

函數(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)前時(shí)間值轉(zhuǎn)換為字符串格式返回。返回的字符串格式為:Www Mmm dd hh:mm:ss yyyy 其中,Www 表示星期幾,Mmm 是以字母表示的月份,dd 表示一月中的第幾天,hh:mm:ss 表示時(shí)間,yyyy 表示年份。

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

下面通過一個(gè)簡單的例子演示一下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í)間計(jì)數(shù)值,然后再將這個(gè)計(jì)數(shù)值傳入ctime函數(shù),然后使用 printf函數(shù)將 ctime函數(shù)返回的字符串打印出來。程序運(yùn)行結(jié)果如下:

image.png

gmtime函數(shù)

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

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

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

struct tm {
   int tm_sec;         /* 秒,范圍從 0 到 59                */
   int tm_min;         /* 分,范圍從 0 到 59                */
   int tm_hour;        /* 小時(shí),范圍從 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;       /* 夏令時(shí)                           */    
};

這個(gè)時(shí)間結(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)前時(shí)間 */
	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)運(yùn)行結(jié)果如下:

image.png

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

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

總結(jié)

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

相關(guān)文章

  • C++11計(jì)時(shí)器之chrono庫簡介

    C++11計(jì)時(shí)器之chrono庫簡介

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

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

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

    STL容器之list源碼詳細(xì)解讀

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

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

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

    C語言學(xué)習(xí)之指針的使用詳解

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

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

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

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

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

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

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

    VS2019+Opencv4.0+Win10配置詳解

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

    C++實(shí)現(xiàn)插入排序?qū)φ麛?shù)數(shù)組排序

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

最新評(píng)論