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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 8位双向移位寄存器verilog设计

    8位双向移位寄存器verilog设计系统功能设计一个8位双向移位寄存器,实现并行输入数据、数据左移、右移、清空数据的功能。程序主要包括移位寄存器模块和按键去抖模块①Key1控制拨码输入:a)key_flag1,key_state1实现Key1去抖(if(key_flag1&&(!key_state1)));b)key_cnt[3:0]从0开始在每一次Key1按下后加1,累积到3后再按下Key1,key_cnt清零;c)en_num1为高4位输入使能信号,en_num2为低4位输入使能信

    2022年7月16日
  • serialized objects

    serialized objectsThisstartedagain…athreadfrom*****:WhatdoyouconsiderabestpracticeforserialVersionUID?T______________________________________________From:*******Sent:Thursday,Nov…

    2022年6月16日
  • Pytest(13)命令行参数–tb的使用

    Pytest(13)命令行参数–tb的使用前言pytest使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败。–tb=style参数可以设置报错的时候回溯打印内容,可以设置参

    2022年7月30日
  • 基于android餐馆点餐系统报告感想,基于Android的餐厅点餐系统的设计与实现

    基于android餐馆点餐系统报告感想,基于Android的餐厅点餐系统的设计与实现摘要:民以食为天,在日常的生活中,我们经常需要与家人,朋友,同事在一起就餐以便促进相互之间的感情.但是现在多数的餐厅企业基本上还是手工点餐操作,无法更好地适应新时期下人们对餐饮业服务的人性化和高效率的要求.随着”互联网+”思维的不断推广,使得传统行业和互联网行业相结合的新兴产业也不断迅速发展.在当前社会形势下安卓系统得到了迅速发展和广泛应用,它正在悄无声息的改变着人们的生活,也为餐厅点餐信息化技术…

    2022年6月19日
  • Mac拷贝/复制文件夹路径快捷键

    Mac拷贝/复制文件夹路径快捷键

    2022年2月9日
  • 引导页 聚焦效果

    引导页 聚焦效果

    2021年12月7日

发表回复

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

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