1 根据设定的指定时间获取时间戳
这里转换时间为时间戳,我们用到的是C中mktime
函数
函数形式
time_t mktime(struct tm *timeptr)
C++
Copy
函数功能
把 timeptr所指向的结构转换为一个依据本地时区的自 1970 年 1 月 1 日以来持续时间的秒数,如果转换错误则返回-1。
函数参数
- timeptr:这是指向表示日历时间的 time_t 值的指针,该日历时间可被分解为以下各部分。
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 起的年数 */
int tm_wday; /* 一周中的第几天,范围从 0 到 6 */
int tm_yday; /* 一年中的第几天,范围从 0 到 365 */
int tm_isdst; /* 夏令时 */
};
C++
Copy
1.2 将指定时间转换为时间戳我们将mktime
函数进行封装,
/**
* 如果我们要转换2022年9月19日21时0分0秒为时间戳,则传参为TimeToTimeStamp(2022, 9, 19, 21,0, 0)
*/
std::time_t TimeToTimeStamp(
int year,
int month,
int day,
int hour,
int minute,
int second
)
{
struct tm temp_tm;
memset(&temp_tm, 0, sizeof(tm));
temp_tm.tm_year = year - 1900;
temp_tm.tm_mon = month - 1;
temp_tm.tm_mday = day;
temp_tm.tm_hour = hour;
temp_tm.tm_min = minute;
temp_tm.tm_sec = second;
temp_tm.tm_isdst = 0;
int ret;
char buffer[128];
ret = mktime(&temp_tm);
if (ret == -1) {
std::cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?