Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C++ 教程

C++ 主页 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学 C++ 布尔值 C++ If...Else C++ Switch C++ While 循环 C++ For 循环 C++ Break/Continue C++ 数组 C++ 结构体 C++ 枚举 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载 C++ 作用域 C++ 递归

C++ 类

C++ 面向对象编程 C++ 类/对象 C++ 类方法 C++ 构造函数 C++ 访问限定符 C++ 封装 C++ 继承 C++ 多态 C++ 文件 C++ 异常 C++ 日期

C++ 数据结构

C++ 数据结构 & STL C++ 向量 C++ 列表 C++ 堆栈 C++ 队列 C++ 双端队列 C++ 集合 C++ 映射 C++ 迭代器 C++ 算法

C++ 如何做

C++ 添加两个数字 C++ 随机数

C++ 参考

C++ 参考 C++ 关键字 C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime> C++ <vector> C++ <algorithm>

C++ 例子

C++ 例子 C++ 现实世界中的例子 C++ 编译器 C++ 练习 C++ 问答 C++ 证书


C++ ctime mktime() 函数

❮ ctime 函数


例子

创建时间戳并打印其日期和时间

struct tm date;
time_t timestamp;

date.tm_year = 2023 - 1900; // Number of years since 1900
date.tm_mon = 12 - 1; // Number of months since January
date.tm_mday = 17;
date.tm_hour = 12;
date.tm_min = 30;
date.tm_sec = 1;
date.tm_isdst = -1;

timestamp = mktime(&date);

cout << ctime(&timestamp);
自己尝试一下 »

定义和用法

The mktime() 函数根据 tm 结构创建日期和时间的时间戳。结构体表示的时间被认为是在计算机的本地时区。

The mktime() 函数还会通过更正日期溢出并填充 tm_wdaytm_yday 成员来更改 tm 结构。

The mktime() 函数在 <ctime> 头文件中定义。

时间戳通常代表相对于 Unix 纪元(1970 年 1 月 1 日)的秒数,但它取决于库的实现方式,因此最好只将其与旨在处理时间戳的函数(如 localtime()difftime())一起使用。

The mktime() 函数使用 tm 结构的以下成员来创建时间戳

  • tm_sec - 分钟内的秒数
  • tm_min - 小时内的分钟数
  • tm_hour - 一天中的小时数(从 0 到 23)
  • tm_mday - 月份中的某一天
  • tm_mon - 月份(从 0 到 11,从一月开始)
  • tm_year - 自 1900 年以来的年数
  • tm_isdst - 夏令时生效时为 1,不生效时为 0,-1 表示使用计算机的时区设置

The mktime() 还会考虑日期的溢出和下溢。例如,下面的代码将 4 月 31 日正确解释为 5 月 1 日。


更多例子

例子

The mktime() 函数可以解释日期溢出

struct tm date;
time_t timestamp;

date.tm_year = 2024 - 1900; // Number of years since 1900
date.tm_mon = 4 - 1; // Number of months since January
date.tm_mday = 31;
date.tm_hour = 0;
date.tm_min = 0;
date.tm_sec = 0;
date.tm_isdst = -1;

timestamp = mktime(&date);

cout << ctime(&timestamp);
自己尝试一下 »

语法

mktime(struct tm * time);

参数值

参数 描述
time 必需。指向 tm 结构体的指针。

技术细节

返回值 一个 time_t 时间戳,代表结构体中给定的日期和时间。

❮ ctime 函数

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.