C++ 中的 time

本文详细介绍了C++中获取和操作时间的函数,包括std::time、std::localtime、std::gmtime等,以及相关结构体std::tm。讲解了各函数的功能、使用场景,特别提醒了涉及静态变量的函数在并发使用时需要注意的数据一致性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++ 中的 time

前言

C++ 中获取精度为秒的时间只有一种方式,就是 std::time。这个函数是从 C 里来的,使用也非常简单,不多说。本文的主要是介绍围绕 std::time 相关用于格式化时间的函数。

其它获取时间的方式,比如:std::colck、std::chrono,精度都比较高,同时也比较慢,慢了 2~3 个数量级。有兴趣可以自己比较一下 http://quick-bench.com/

相关函数和结构体链接清单

相关结构体

下文中纪元时间即现在(UTC 时间)到 1970 年 1 月 1 日 0 时 0 分 0 秒的秒数,本地时间 即纪元时间加上时区。

std::tm

保存着日期和时间。

std::\tm::tm_year(年)从 1900 开始(纪元时间从 1970 年开始)。
std::\tm::tm_mon(月)的范围是 [0, 11] 而不是 [1, 12]。
std::\tm::tm_sec (秒)的范围是 [0, 60],因为存在闰秒。
std::\tm::tm_isdst,值为正的时候表示夏令时有效。夏令时即夏天时间在原来的基础上加一个小时,比如原来是 6:00,夏令时生效了现在太阳还是在同一个位置但时间却是 7:00。
其它字段点击本节标题查看。

函数详情

std::time

std::time_t time(
	std::time_t 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值