C/C++如何获取当前系统时间的实例详解

发布时间 - 2026-01-11 02:56:55    点击率:

 C/C++如何获取当前系统时间的实例详解

C库中与系统时间相关的函数定义在<time.h>头文件中, C++定义在<ctime>头文件中。

一、time(time_t*)函数

函数定义如下:

time_t time (time_t* timer);

获取系统当前日历时间 UTC 1970-01-01 00:00:00开始的unix时间戳

参数:timer 存取结果的时间指针变量,类型为time_t,指针变量可以为null。如果timer指针非null,则time()函数返回值变量与timer指针一样,都指向同一个内存地址;否则如果timer指针为null,则time()函数返回一个time_t变量时间。

返回值,如果成功,获取当前系统日历时间,否则返回 -1。

二、结构体 struct tm

变量 类型 说明 范围
tm_sec int 每分钟的秒数 [0 - 61]
tm_min int 每小时后面的分钟数 [0 - 59]
tm_hour int 凌晨开始的小时数 [0 - 23]
tm_mday int 从每月份开始算的天数 [1 - 31]
tm_mon int 从一月份开始的月份数 [0 - 11]
tm_year int 从1900年开始的年数  
tm_wday int 从每周天开始算的天数 [0 - 6]
tm_yday int 一年的第几天,从零开始 [0 - 365]
tm_isdst int 夏令时  
       

       这里有几个地方要注意:

1. tm_sec 在C89的范围是[0-61],在C99更正为[0-60]。通常范围是[0-59],只是某些系统会出现60秒的跳跃。

2. tm_mon 是从零开始的,所以一月份为0,十二月份为11。

三、本地时间转换函数localtime(time_t*)

函数原型

struct tm * localtime (const time_t * timer);

将日历时间转换为本地时间,从1970年起始的时间戳转换为1900年起始的时间数据结构

四、源码及编译

current_time.cpp

#include <cstdio> 
#include <ctime> 
 
int main(int argc, char* argv[]) { 
  time_t rawtime; 
  struct tm *ptminfo; 
 
  time(&rawtime); 
  ptminfo = localtime(&rawtime); 
  printf("current: %02d-%02d-%02d %02d:%02d:%02d\n", 
      ptminfo->tm_year + 1900, ptminfo->tm_mon + 1, ptminfo->tm_mday, 
      ptminfo->tm_hour, ptminfo->tm_min, ptminfo->tm_sec); 
  return 0; 
} 

编译及运行

$ g++ current_time.cpp

$ ./a.out

current: 2017-07-26 23:32:46

以上就是 C/C++如何获取当前系统时间的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C/C++如何获取当前系统时间  # C语言获取系统时间的实现方法  # C/C++实现获取系统时间的示例代码  # c/c++获取系统时间函数的方法示例  # C++获取当前系统时间的方法总结  # C++实现调用系统时间简单示例  # C++实现获取系统时间的方法小结  # 转换为  # 从零开始  # 返回值  # 头文件  # 如有  # 几天  # 数据结构  # 要注意  # 希望能  # 有几个  # 谢谢大家  # 每小时  # 每分钟  # 正为  # 库中  # 周天  # 疑问请  # 份数  # height  # strong 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: WordPress 子目录安装中正确处理脚本路径的完整指南  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel安装步骤详细教程_Laravel环境搭建指南  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel如何实现用户密码重置功能?(完整流程代码)  Linux安全能力提升路径_长期防护思维说明【指导】  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  python中快速进行多个字符替换的方法小结  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  如何快速生成凡客建站的专业级图册?  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  实例解析Array和String方法  Laravel如何实现文件上传和存储?(本地与S3配置)  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何在Ubuntu系统下快速搭建WordPress个人网站?  WEB开发之注册页面验证码倒计时代码的实现  如何快速生成ASP一键建站模板并优化安全性?  如何在 React 中条件性地遍历数组并渲染元素  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  千库网官网入口推荐 千库网设计创意平台入口  西安专业网站制作公司有哪些,陕西省建行官方网站?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  如何快速上传建站程序避免常见错误?  ,南京靠谱的征婚网站?  JS经典正则表达式笔试题汇总  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  网站制作软件有哪些,制图软件有哪些?  HTML 中如何正确使用模板变量为元素的 name 属性赋值  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何快速搭建高效WAP手机网站?  如何快速搭建高效服务器建站系统?  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  如何快速建站并高效导出源代码?  Laravel如何处理文件下载请求?(Response示例)  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  javascript中的try catch异常捕获机制用法分析  如何在景安服务器上快速搭建个人网站?  做企业网站制作流程,企业网站制作基本流程有哪些?