C++获取当前系统时间_罗兰C系统

C++获取当前系统时间_罗兰C系统C库中与系统时间相关的函数定义在头文件中,C++定义在头文件中。获取系统时间的方法都在time头文件里面定义。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189632.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月11日 下午9:01
下一篇 2026年3月11日 下午9:43


相关推荐

  • idea设置背景黑色_idea主题样式设置

    idea设置背景黑色_idea主题样式设置1、File=>Settings2、Appearance=>Darcula

    2022年4月19日
    64
  • 【Windows11来了】立刻安装Windows11预览版抢先体验(虚拟机 | 含详细安装步骤)

    【Windows11来了】立刻安装Windows11预览版抢先体验(虚拟机 | 含详细安装步骤)本文介绍了使用虚拟机安装Windows11预览版操作系统的过程,并体验了一下新系统

    2022年7月16日
    20
  • VINS技术路线与代码详解

    VINS技术路线与代码详解VINS 技术路线写在前面 本文整和自己的思路 希望对学习 VINS 或者 VIO 的同学有所帮助 如果你觉得文章写的对你的理解有一点帮助 可以推荐给周围的小伙伴们 当然 如果你有任何问题想要交流 欢迎随时探讨 话不多说 下面上正文 VINS 代码地址 https github com HKUST Aerial Robotics VINS Mono 参考文档 1 VINS MonoAR

    2026年3月26日
    2
  • cholesky分解_java toarray方法

    cholesky分解_java toarray方法接着LU分解继续往下,就会发展出很多相关但是并不完全一样的矩阵分解,最后对于对称正定矩阵,我们则可以给出非常有用的cholesky分解。这些分解的来源就在于矩阵本身存在的特殊的结构。对于矩阵A,如果没有任何的特殊结构,那么可以给出A=L*U分解,其中L是下三角矩阵且对角线全部为1,U是上三角矩阵但是对角线的值任意,将U正规化成对角线为1的矩阵,产生分解A=L*D*U,D为对角矩阵。如果A为对…

    2025年8月5日
    8
  • 软件项目管理考前复习资料[通俗易懂]

    软件项目管理考前复习资料[通俗易懂]第一章.软件项目管理概述1.实现项目目标的制约因素有:项目范围成本进度计划客户满意度2.项目管理包括:启动过程组计划过程组执行过程组控制过程组收尾过程组3.什么是项目:为了创造一个唯一的产品或者提供一个唯一的服务而进行的临时性的努力,所以说项目具有临时性特性4.过程管理就是对过程进行管理,目的是要让过程能够被共享,复用,并得到持续的改进5.项目与日常运作的…

    2022年4月29日
    36
  • Elasticsearch 简介[通俗易懂]

    Elasticsearch 简介[通俗易懂]Elasticsearch是一个非常强大的搜索引擎。它目前被广泛地使用于各个IT公司。Elasticsearch是由Elastic公司创建并开源维护的。它的开源代码位于https://github.com/elastic/elasticsearch。同时,Elastic公司也拥有Logstash及Kibana开源项目。这个三个开源项目组合在一起,就形成了ELK软件栈。他们三个共同形成了一个强大的…

    2022年7月18日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号