获取当前系统时间c语言,使用C语言获取当前系统的时间

要想使用C语言来获取当前系统的时间,办法如下:

需要提前准备的工作:

1 #include

2 #include

3 #include

4

5 intmain()6 {7 time_t rawtime; //时间类型,由time.h中定义

8 struct tm *timeinfo; //关于时间的结构体类型,在time.h中定义

9 timeinfo = (struct tm*)malloc(sizeof(structtm));10 time(&rawtime); //获取时间,以秒计,从1970年1月1日00:00:00起算,存于rawtime

11 timeinfo = localtime(&rawtime); //转换为当地时间,存在结构体 struct tm中

12 return 0;13 }

1.struct tm 时间结构的详细说明,在time.h 定义如下:

1 #ifndef _TM_DEFINED2

3   structtm {4

5   int tm_sec; /*秒–取值区间为[0,59]*/

6

7   int tm_min; /*分 - 取值区间为[0,59]*/

8

9   int tm_hour; /*时 - 取值区间为[0,23]*/

10

11   int tm_mday; /*一个月中的日期 - 取值区间为[1,31]*/

12

13   int tm_mon; /*月份(从一月开始,0代表一月) - 取值区间为[0,11]*/

14

15   int tm_year; /*年份,其值从1900开始*/

16

17   int tm_wday; /*星期–取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推*/

18

19   int tm_yday; /*从每年的1月1日开始的天数–取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推*/

20

21   int tm_isdst; /*夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/

22

23   long int tm_gmtoff; /*指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数*/

24

25   const char *tm_zone; /*当前时区的名字(与环境变量TZ有关)*/

26

27 };28

29   #define _TM_DEFINED

30

31   #endif

32

33   //ANSI C标准称使用tm结构的这种时间表示为分解时间(broken-down time)。

如果要以自定义的输出格式输出,可以直接操纵struct tm类型中的数据,但要注意的是:

struct tm中的年份要加1900,即timeinfo->tm_year + 1900,因为系统中的时间是从1900年算起的。

struct tm中的月份要加1,即timeinfo->tm_mon + 1,因为月份的计数是从0开始的

3.有个问题在于,使用struct tm的指针时,并没有为这个结构体分配空间,而只是为一个指向这个结构体的指针分配了栈空间。这样容易导致在内存中野蛮地占  用其他有用的数据空间。所以,我的想法是,最好加上一句:

timeinfo = (struct tm *)malloc(sizeof(struct tm));

原文:http://www.cnblogs.com/catdrivedragon/p/3958880.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果手机悬浮窗怎么打开_怎么通过悬浮窗录音?再也不用担心文本被遮挡

怎么通过悬浮窗录音?在录音的时候经常遇到这种情况,打开了录音软件,录音软件就遮挡了要录制的文本,将文本缩小看起来又很不方便。在生活中,这种情况其实很普遍,主要是因为录音软件没有选择好。在浏览器搜索…

AliOS Things SIG BLE Mesh网络的介绍和搭建

摘要:在最新的版本(1.2.1)中,AliOS Things 开始支持SIG BLE mesh。本文对SIG BLE mesh及如何使用AliOS Things搭建BLE mesh网络进行了详细的说明。点此查看原文:http://click.aliyun.com/m/42946/在最新的版本(1.2.1)中,AliOS Thi…

联想ThinkPad笔记本Fn键关闭与启用方法

最快捷的方法,按FnEsc键启用Fn功能键

android图标错误的是什么意思啊,Android错误:找不到与给定名称匹配的资源(在icon处,值为@drawable/icon) - Android - srcmini...

本文概述将旧版本的项目导入Android Studio时, 似乎会导致此错误, 然后Android Studio会将gradle版本更新为最新版本, 从而导致该错误。对于具有旧版本gradle的Cordova项目, 这似乎也发生了, 当你使用cordova平台删除旧的android平台时, 请删除android, 然后使用cordova平台重新…

02年六代雅阁的整备质量_2020年宝安第八批更新计划:联投地产5.4万㎡“工改”项目...

今日(10月22日),宝安区更新整备局发布关于《2020年深圳市宝安区城市更新单元第八批计划》(草案),共2个工改项目,即大田洋工业区东方三队、四队片区更新项目、沙民马安山工业区更新项目,合计拆除用地面积112446㎡。龙华区更新整备局…

被吹得天花乱坠的无服务器架构,究竟是什么?

戳蓝字“CSDN云计算”关注我们哦!无服务器计算(Severless computing,简称 Serverless)现在是软件架构圈中的热门话题,国外三大云计算供应商(Amazon、Google 和 Microsoft)都在大力投入这个领域&…

idea配置的导入导出

摘要:每当更新了工具,或者其他电脑想使用idea工具,配置不可能重新配置,这时只要把已配置好的导出来,打开新的idea时,直接导入即可。 文章目录一、导出配置二、导入配置一、导出配置 打开工具,找…

基于阿里云移动推送的移动应用推送模式最佳实践

摘要:### 一、概念 以下概念对应系统设计时的语义,对于如何合理使用移动推送有借鉴意义 #### 1.1 设备 安装并使用开发者移动应用的装置 #### 1.2 设备ID 阿里云移动推送为设备分配的唯一ID,可以通过阿里云移动推送SDK端提供的接口获取 点此阅…

android 底部滑动效果怎么做,Android实现简单底部导航栏 Android仿微信滑动切换效果...

android仿微信滑动切换最终实现效果:大体思路:1. 主要使用两个自定义view配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标;2. 底部导航栏的设置方法类似于tablayout的关联,view需要创建关联方法,用来关联viewpag…

cgi进程设置多少 宝塔_宝塔面板安装完的一些列操作

推荐教程虚拟机建站总目录 - 辉哥博客​www.haah.net前言新安装的宝塔会有很多地方需要配置,如果懂的大佬可以跳过,如果是小白可以按照辉哥的教程一步步操作,辉哥是以虚拟机进行操作的,但是服务器也是一样的道理!安全入…

白话中台战略:中台是个什么鬼?

戳蓝字“CSDN云计算”关注我们哦!来源:健荐作者:王健从去年开始,好像就有一只无形的手一直将我与“微服务”、“平台化”、“中台化”撮合在一起,给我带来了很多的困扰和思考与收获。故事的开始源于去年的技术雷达峰会…

用WEB技术栈开发NATIVE应用(二):WEEX 前端SDK原理详解

摘要: WEEX依旧采取传统的web开发技术栈进行开发,同时app在终端的运行体验不输native app。其同时解决了开发效率、发版速度以及用户体验三个核心问题。那么WEEX是如何实现的?目前WEEX已经完全开源,并捐给Apache基金会&#xff0c…

android qq apk反编译,为什么不能反编译qq

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼这里抛出异常了Exception in thread "main" brut.androlib.AndrolibException: Multiple res specs: attr/nameat brut.androlib.res.data.ResType.addResSpec(ResType.java:58)at brut.androlib.res.decoder.ARSCDecode…

cad查看_CAD与天正软件对齐命令实例讲解

好课推荐:1、CAD2014:点击查看 2、室内&全屋:点击查看 3、CAD2019:点击查看4、CAD2018:点击查看5、Bim教程:点击查看 6、室内手绘:点击查看7、CAD三维:点击查看8、全屋定制&…

Storm精华问答 | storm与Hadoop区别?

戳蓝字“CSDN云计算”关注我们哦!Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。今天,我们就挑一些Storm的安装配置问题来看看吧。1Q:…

开发经验分享_01_遇到问题三步走(思路+实战)

企业内部开发经验系列,由gblfy根据自己在公司的亲身经历总结而成,会讲述开发的思路和开发技巧,帮助更多开发人员思路明确、高效率的开发!!! 目前总结章节如下: 章节链接(企业内部)开发经验分享…

weex 在 iOS 上如何实现常见的网络缓存

摘要:weex 旨在兼顾web动态性与native的用户体验,如果想将两者的优势最大化,那么缓存就显得格外重要,本文介绍如何利用缓存,实现weex页面迅速打开,甚至“秒开”的效果。点此查看原文:http://cli…

python实现多智能体一致性_促进产学研,多智能体协同控制——科研与实践教学齐飞...

对多智能体感兴趣欢迎Wangzaixiaolatiao(VX)沟通。一、引言1.1、概述多智能体协同控制系统即多个智能体组成的集合,它的目标是将大而复杂的系统集成设成小的、彼此互相通信和协调的、易于管理的系统。多智能体协同控制系统在表达实际系统时&a…

android 汇编 参数,安卓ARM汇编基础知识

ARM 是 Advanced RISC Machine 的缩写,可以理解为一种处理器的架构,还可以将它作为一套完整的处理器指令集。RISC(Reduced Instruction Set Computing) 精简指令集计算机:一种执行较少类型计算机指令的微处理器。处理器指令集: 计算机处理命令…