附录12-time.h的常用方法

news2024/12/23 18:33:04

目录

1  数据类型

1.1  time_t

1.2  tm

1.3  clock_t

2  相关知识

3  获取从1970年1月1日以来的UTC秒数 time()

4  获取本时区时间字符串 ctime()

5  获取GMT时间的tm gmttime()

6  获取本地时间的tm localtime()

7  记录当前毫秒数 clock()

8  将表示本地时间的tm转换为time_t mktime()

9  将tm转换为字符串形式 asctime()

10  两个time_t的差值 difftime()

11  将tm转换为字符串 strftime()


1  数据类型

1.1  time_t

time_t可以视作为长整型(long),导入time.h库会自动定义这个变量名

1.2  tm

tm是有如下属性的结构体,导入time.h库会自动定义这个变量名

  • 参考 c语言中tm与time_t两种时间格式的转换_time_t转tm_网格小生的博客-CSDN博客
struct tm {

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

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

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

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

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

  int tm_year;    /* 年份,其值等于实际年份减去1900 */

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

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

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

};

我们通常可以用下面这组字符串打印出tm

printf("%04d-%02d-%02d %02d:%02d:%02d\n",local_time->tm_year + 1900, local_time->tm_mon + 1, local_time->tm_mday, local_time->tm_hour, local_time->tm_min, local_time->tm_sec);

打印后的格式是这样的

1.3  clock_t

clock_t可以视作为长整型(long),导入time.h库会自动定义这个变量名

2  相关知识

  • GMT与UTC时间类似
  • GMT与中国差8个时区,所以时间也会差8个小时

3  获取从1970年1月1日以来的UTC秒数 time()

4  获取本时区时间字符串 ctime()

5  获取GMT时间的tm gmttime()

gmttime()的返回值是tm,我们可以把tm格式化成我们想看的格式

GMT是0时区,中国是东8区,所以会相差8个小时

6  获取本地时间的tm localtime()

7  记录当前毫秒数 clock()

运行后我等待5秒左右,然后睡3秒,之后会显示从开始到end_time的clock()运行了3002毫秒

8  将表示本地时间的tm转换为time_t mktime()

9  将tm转换为字符串形式 asctime()

10  两个time_t的差值 difftime()

这里你直接相减效果也差不多

11  将tm转换为字符串 strftime()

strftime()的第一个参数是存在哪个变量中

第二个参数是变量的最大长度,一般我们使用sizeof(变量名)就行了

第三个参数是要格式化成什么样子的字符串

第四个参数是时间的tm

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

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

相关文章

口袋参谋:如何识别买家旺旺号?这招超简单!

​想要不被骗钱、跑路!那商家在销量递增之前,一定要验买家旺旺号!那如何快速验出买家是人还是“鬼”,我们就需要借助验号工具了。 说到这个验号工具,我不得不说,口袋参谋照妖镜查号功能,一键快速…

Python基础语法之学习input()函数

Python基础语法之学习input函数 前言一、代码二、效果 前言 一、代码 # 默认是字符串类型 number input("请输入一个数字:") print("输入的数字是",number)二、效果 没有人可以阻止你成为自己想成为的人,只有你自己才能放弃梦想。…

山西临县“5·7”火灾事故调查报告公布,揭秘富维烟火报警系统

近日,山西临县“57”火灾事故调查报告震惊全国,提醒我们火灾防控的重要性。在这起悲剧中,我们深刻认识到,及时发现火灾并迅速应对至关重要。这不仅是对生命安全的保护,也是对财产损失的有效减少。而在这方面&#xff0…

建筑工程模板包工包料价格

在建筑工程中,模板是承载混凝土浇筑的重要支撑结构,起到保持混凝土形状和支撑荷载的作用。对于建筑项目而言,了解建筑工程模板包工包料的价格范围是非常重要的。在本文中,我们将以混凝土粘模面积为基础,根据实际情况提…

Mysql更新varchar存储的Josn数据

Mysql更新varchar存储的Josn数据 记录一次mysql操作varchar格式存储的json字符串数据 1、检查版本 -- 版本5.7以上才可以能执行json操作 select version(); 2、创建测试数据 -- 创建测试表及测试数据 CREATE TABLE test_json_table AS SELECT UUID(), {"test1": …

独家精品!git action发布electron成功的关键

首先来说git action真心是个坑爹货,使用起来太费劲了,各种报错一大堆。 再加上electron这个更坑爹的东西,二者合璧要把你累死一层皮。 昨天经过反复测试,通过无数次的失败,查找,试验,再失败&a…

【吞噬星空】弧刀盘价值180亿,购买1016名强者,保卫地球

Hello,小伙伴们,我是拾荒君。 国漫《吞噬星空》的第95集更新了,一更新,我和我的小伙伴们就迫不及待地去观看了。在这个集剧中,罗峰在一个奴隶拍卖场中深切地感受到了宇宙中弱肉强食的残酷现实。他看到,在宇宙中&#…

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用【鸿蒙专栏-05】

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…

32+OLED之IIC手撕亚索七级狗牌

成品效果: 硬件配方:STM32F103C8T6 SSD1306 软件配方:字模提取V2.1 CopyLeft By Horse2000 STM32CubeMX keil5 思路: 1.找到图片,将其转化为128*64 像素大小的二值化图片;【python实现转化】&#xff…

Spring --- 创建一个Spring项目

文章目录 创建一个Maven项目添加Spring框架支持添加启动类 创建一个Maven项目 注:我们需要使用 Maven 来管理依赖,所以需要创建一个Maven项目 添加Spring框架支持 注: 添加这两个依赖才能正确使用 Spring在添加依赖后记得刷新,把依…

【开源威胁情报挖掘1】引言 + 开源威胁情报挖掘框架 + 开源威胁情报采集与识别提取

基于开源信息平台的威胁情报挖掘综述 写在最前面摘要1 引言近年来的一些新型网络安全威胁类型挖掘网络威胁的情报信息威胁情报分类:内、外部威胁情报国内外开源威胁情报挖掘分析工作主要贡献研究范围和方法 2 开源威胁情报挖掘框架1. 开源威胁情报采集与识别2. 开源…

浅谈无线测温系统在海上石油平台高压配电盘的应用-安科瑞 蒋静

摘要:海上石油平台的封闭式中高压配电盘在平台电力系统起着十分重要的作用,通过统计其配电盘的 大部分故障为前期的热效应引起,由于配电盘内部空间封闭狭小,所以无法进行人工巡查测温,这给油田的供电系统埋下了一定的潜…

服务器bash进程占用cpu过多疑似中挖矿病毒记录

发现过程 因为我有使用conky的习惯,也就是在桌面上会显示cpu和内存的占用情况,由于服务器不止我一个人使用,最近发现好几次我同学的账户下的bash进程占用特别多,问了他之后,他也说他几次都是没有使用过bash相关服务&a…

【Java】文件I/O-文件系统操作

导读 在文件I/O这一节的知识里,对文件的操作主要分为两大类: ☑️针对文件系统进行的操作 ☑️针对文件内容进行的操作 针对文件系统进行的操作主要是对Java中的File类进行操作。这篇文章里,博主就来带大家看看Java中针对文件系统的一些常…

Vue3水印(Watermark)

APIs 参数说明类型默认值必传width水印的宽度,默认值为 content 自身的宽度numberundefinedfalseheight水印的高度,默认值为 content 自身的高度numberundefinedfalserotate水印绘制时,旋转的角度,单位 number-22falsezIndex追加…

利用数据库的表,生成word文档的表结构注释说明

文章目录 1.场景说明2.解决办法3.生成文档3.1.实现思路3.2.引入Apache POI依赖3.3.获取表及表字段说明Mapper3.4.POI创建文档表格,并填充数据3.5.完整的接口下载代码3.6.效果展示 1.场景说明 在项目中表已经建立好了,但是现在想对外提供一个表的字段的描…

获得文件MD5——校验完整性 window 和 Linux下操作

目录 引出window下获得文件MD5Linux下获得文件MD5单个文件整个目录下所有文件检查MD5 总结 引出 1.Windows 10 自带了一个命令行程序 certutil可以 获取文件的 MD5 值; 2.Linux下md5sum命令获得文件MD5值; window下获得文件MD5 Windows 10 自带了一个命…

python中的简单线性拟合

简单线性回归可以拟合线性关系的数据,一般使用一次函数或二次函数即可。 import numpy as np import matplotlib.pyplot as pltxnp.array([1,2,3,4,5,6,7,8,9,10]) ynp.array([2.5,4.5,4.8,5.5,6.0,7.0,7.8,8.0,9.0,10.0])#一次拟合函数 slope,interceptnp.polyfit…

vs2019 - MFC对话框程序的工程名称不支持下划线命名法

文章目录 vs2019 - MFC对话框程序的工程名称不支持下划线命名法概述笔记备注END vs2019 - MFC对话框程序的工程名称不支持下划线命名法 概述 正在写账单分析程序, 用MFC 对话框. 因为比较习惯下划线命名法, 就在向导中给工程名称起了一个my_test这样的名称(下划线命名法, 小…

亮相史上规模最大高交会,Coremail展现邮件技术创新实力

11月19日,第二十五届中国国际高新技术成果交易会在深圳落下帷幕,作为国内邮件行业引领者,Coremail受邀参展。 展览现场,Coremail邮件解决方案及系列产品受到了众多参观者与业内人士的关注与好评。Coremail XT6邮件系统技术成熟&a…