失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > C++时间戳time_t和时间结构体tm

C++时间戳time_t和时间结构体tm

时间:2019-10-19 21:37:10

相关推荐

C++时间戳time_t和时间结构体tm

本地时间(LT)是东八区的时间,格林尼治时间(GMT)是0时区的时间,世界协调时(UTC)是修正后的格林尼治时间。

我们可以粗略地认为世界协调时(UTC)就是格林尼治时间(GMT)。

本地时间在东八区,世界协调时(UTC)在0时区,所以东八区比世界协调时早8个小时,即假如现在世界协调时(UTC)为0时,则本地时间为8时。

time_t表示世界协调时(UTC),比如现在本地时间为/11/30 22:0:0,则取到的time_t表示/11/3014:0:0,距离1970年1月1日0时0分0秒的秒数。

取到time_t变量的函数为time time(*time);可以

time_t timep;

timep=time(NULL);也可以

time_t timep;

time(&timep);

时间块结构体tm包括了年、月、日、时、分、秒等变量,定义如下:

struct tm{

int tm_sec;

int tm_min;

int tm_hour;

int tm_mday;

int tm_mon;

int tm_year;

int tm_wday;

int tm_yday;

int tm_isdst;

}

其中tmmday表示month day,该月中第几天;tmwday,表示,week day,该周中第几天;tmyday表示year day,该年中第几天;isdst表示是否为夏令时,为正数表示是夏令时,为0表示不是夏令时,为负数表示计算机自动判断是否为夏令时。

time_t转换为tm的函数为

tm* gmtime(const time_t* timep);//将time_t转换为协调世界时,比如,当前时间为12月1日,9时0分0秒,获取到当前时间的time_t,在把time_t通过gmtime()函数转化后得到的时间块结构体里的时间为12月1日,1时0分0秒。

tm* localtime(const time_t* timep);//将time_t转换为本地时间,比如,当前时间为12月1日,9时0分0秒,获取到当前时间的time_t,在把time_t通过localtime()函数转化后得到的时间块结构体里的时间为12月1日,9时0分0秒。

tm转换为time_t的函数为

time_t mktime(const tm* timeptr); //将tm时间块,转换为时间戳time_t,得到timeptr表示的协调世界时的时间戳。比如tm包含的时间为12月1日,9时0分0秒,转化后得到的是12月1日,9时0分0秒距离1970年1月1日0时0分0秒的秒数。

time_t转换为字符串(char *)

char* ctime(const time_t * timep);

tm转换为字符串(char*)

char * asctime(const tm* timeptr);

如果觉得《C++时间戳time_t和时间结构体tm》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。