C/C++时间获取函数
time.h包含C/C++中用于获取时间,和时间转换方面的函数。
1、time()
函数 time_t time(time_t *seconds) 返回自(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds 中。
例子:
#include <stdio.h>
#include <time.h>int main ()
{time_t seconds;seconds = time(NULL);printf("自 1970-01-01 起经过的小时数 = %ldn", seconds/3600);return(0);
}
结果:
自 1970-01-01 起的小时数 = 3757678
2、localtime()
struct tm *localtime(const time_t *timer) 使用 timer 的值来填充 tm 结构。timer 的值被分解为 tm 结构,并用本地时区表示
- struct tm 结构的细节:
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 到 11 */int tm_year; /* 自 1900 起的年数 */int tm_wday; /* 一周中的第几天,范围从 0 到 6 */int tm_yday; /* 一年中的第几天,范围从 0 到 365 */int tm_isdst; /* 夏令时 */
};
例子 1:
#include <stdio.h>
#include <time.h>int main ()
{time_t rawtime;struct tm *info;char buffer[80];time( &rawtime );info = localtime( &rawtime );printf("当前的本地时间和日期:%s", asctime(info));return(0);
}
结果:
当前的本地时间和日期:Thu Aug 23 09:12:05 2012
例子 2:
// 将时间戳,以时间字符串形式输出std::string timetToString(time_t tt) {auto tm = localtime(&tt);std::stringstream ss;ss << tm->tm_year + 1900 << std::setw(2) << std::setfill('0')<< tm->tm_mon + 1 << std::setw(2) << std::setfill('0') << tm->tm_mday<< std::setw(2) << std::setfill('0') << tm->tm_hour << std::setw(2)<< std::setfill('0') << tm->tm_min << std::setw(2) << std::setfill('0')<< tm->tm_sec;return ss.str();
}
3、mktime()
time_t mktime(struct tm *timeptr) 把 timeptr 所指向的结构转换为一个依据本地时区的 time_t 值。
例子:
/* 输入日期判断是周几 */
#include <stdio.h> /* printf, scanf */
#include <time.h> /* time_t, struct tm, time, mktime */int main ()
{time_t rawtime;struct tm * timeinfo;int year, month ,day;const char * weekday[] = { "周日", "周一","周二", "周三","周四", "周五", "周六"};/* 用户输入日期 */printf ("年: "); fflush(stdout); scanf ("%d",&year);printf ("月: "); fflush(stdout); scanf ("%d",&month);printf ("日: "); fflush(stdout); scanf ("%d",&day);/* 获取当前时间信息,并修改用户输入的输入信息 */time ( &rawtime );timeinfo = localtime ( &rawtime );timeinfo->tm_year = year - 1900;timeinfo->tm_mon = month - 1;timeinfo->tm_mday = day;/* 调用 mktime: timeinfo->tm_wday */mktime ( timeinfo );printf ("那一天是:%sn", weekday[timeinfo->tm_wday]);return 0;
}
结果:
年: 2023
月: 8
日: 14
那一天是:周一
4、gmtime()
struct tm *gmtime(const time_t *timer) 使用 timer 的值来填充 tm 结构,并用协调世界时(UTC)也被称为格林尼治标准时间(GMT)表示。北京时间需要在此值的基础上加8小时。
例子:
#include <stdio.h>
#include <time.h>#define BST (+1)
#define CCT (+8)int main ()
{time_t rawtime;struct tm *info;time(&rawtime);/* 获取 GMT 时间 */info = gmtime(&rawtime );printf("当前的世界时钟:n");printf("伦敦:%2d:%02dn", (info->tm_hour+BST)%24, info->tm_min);printf("中国:%2d:%02dn", (info->tm_hour+CCT)%24, info->tm_min);return(0);
}
结果:
当前的世界时钟:
伦敦:14:10
中国:21:10
相关文章:
C/C++时间获取函数
time.h包含C/C中用于获取时间,和时间转换方面的函数。 1、time() 函数 time_t time(time_t *seconds) 返回自(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位。如果 seconds 不为空,则返回值也存储在变量 seconds …...
sql中判断日期是否是同一天
sql中判断日期是否是同一天的sql sql: select id,product_id,seckill_price,stock_count,time,intergral,start_date from t_seckill_product where to_days(start_date) to_days(now()) to_days函数: 使用to_days(start_date) to_days(now())的方式是一种常见的…...
NAS搭建指南一——服务器的选择与搭建
一、服务器的选择 有自己的本地的公网 IP 的请跳过此篇文章按需求选择一个云服务器,目的就是为了进行 frp 的搭建,完成内网穿透我选择的是腾讯云服务器,我的配置如下,仅供参考: 4. 腾讯云服务器官网地址 二、服务器…...
豪越HYDO智能运维助力智慧医院信息化建设
随着国家政策的推动与支持,医疗行业信息化应用不断普及,大数据、AI、医疗物联网等技术的应用,快速推动了电子病历、智慧服务、智慧管理的智慧医院建设和医院信息标准化建设,通过不断探索创新“智慧医院”服务模式,实现…...
Week1题目重刷
今天把week1的题目都重新刷了一遍,明天开始week2的内容~ 704.二分查找 class Solution {public int search(int[] nums, int target) {int l 0, r nums.length - 1, m;while (l < r) {m (l r) >>> 1;if (nums[m] < target) {l m 1;} else if…...
考研数据结构:第七章 查找
文章目录 一、查找的基本概念二、顺序查找和折半查找2.1顺序查找2.3折半查找2.3.1算法思想2.3.2代码实现2.3.3查找效率分析2.3.4折半查找判定树的构造2.3.5折半查找效率2.3.6小结 2.4分块查找 三、树形查找3.1二叉排序树3.1.1二叉排序树定义3.1.2查找操作3.1.3插入操作3.1.4二叉…...
【Linux进程篇】环境变量
【Linux进程篇】环境变量 目录 【Linux进程篇】环境变量基本概念常见环境变量查看环境变量方法测试PATH测试HOME测试SHELL和环境变量相关的命令环境变量的组织方式通过代码如何获取环境变量命令行参数命令行第三个参数通过第三方变量environ获取 本地变量通过系统调用获取或设置…...
【软件测试】Linux环境下Docker搭建+Docker搭建MySQL服务(详细)
目录:导读 前言 一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Linux之docker搭…...
去了字节跳动,才知道年薪40W的测试有这么多?
今年大环境不好,内卷的厉害,薪资待遇好的工作机会更是难得。最近脉脉职言区有一条讨论火了: 哪家互联网公司薪资最‘厉害’? 下面的评论多为字节跳动,还炸出了很多年薪40W的测试工程师 我只想问一句,现在的…...
linux0.95(VFS重点)源码通俗解读(施工中)
文件系统在磁盘中的体现 下面是磁盘的内容,其中i节点就是一个inode数组,逻辑块就是数据块可用于存放数据 操作系统通过将磁盘数据读入到内存中指定的缓冲区块来与磁盘交互,对内存中的缓冲区块修改后写回磁盘。 进程(task_struct * task[N…...
mac ssh连接另一台window虚拟机vm
vmware配置端口映射 编辑(E) > 虚拟网络编辑器(N)... > NAT设置(S)... window防火墙,入站规则添加5555端口 控制面板 > 系统和安全 > Windows 防火墙>高级设置>入站规则>新建规则... tips windows查看端口命令:netstat -ano | f…...
使用Python解析通达信本地lday数据结构
通达信软件中的vipdoc是一个存储股票行情数据的文件夹。在通达信软件的安装目录下,可以找到一个名为vipdoc的文件夹,里面存放着各个股票的分时、日线、周线、月线等行情数据文件。这些数据文件可以用于自定义分析和回测股票的走势和交易策略,…...
【Mysql】修改definer
修改definer 本文介绍如何修改MySQL中的function、procedure、event、view和trigger的definer 修改function、procedure的definer 首先,我们需要登录MySQL命令行界面,然后执行以下命令: select definer from mysql.proc;这个命令会列出所…...
图片预览插件vue-photo-preview的使用
移动端项目中需要图片预览的功能,但本身使用mintui,vantui中虽然也有,但是为了一个组件安装这个有点儿多余,就选用了vue-photo-preview插件实现(其实偷懒也不想自己写)。 1、安装 npm i vue-photo-preview…...
最强自动化测试框架Playwright(20)- iframe
一个页面可以附加一个或多个 Frame 对象。每个页面都有一个主框架,并且假定页面级交互(如)在主框架中运行。click frame_locator 使用 iframe 时,可以创建一个框架定位器,该定位器将进入 iframe 并允许选择该 iframe…...
leetcode 516. 最长回文子序列(JAVA)题解
题目链接https://leetcode.cn/problems/longest-palindromic-subsequence/description/?utm_sourceLCUS&utm_mediumip_redirect&utm_campaigntransfer2china 目录 题目描述: 暴力递归: 动态规划: 题目描述: 给你一个…...
在Java中操作Redis(详细-->从环境配置到代码实现)
在Java中操作Redis 文章目录 在Java中操作Redis1、介绍2、Jedis3、Spring Data Redis3.1、对String的操作3.2、对哈希类型数据的操作3.3、对list的操作3.4、对set类型的操作3.5、对 ZSet类型的数据(有序集合)3.6、通用类型的操作 1、介绍 Redis 的Java客…...
分布式作业调度框架——ElasticJob
1、简介 ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。 它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案,…...
react如何实现数据渲染
React数据渲染是指将组件中的数据映射到页面上,以展示出来。在React中,数据渲染通常是通过JSX和组件的state或props完成的。 JSX是一个类似HTML的语法,可以在其中嵌入JavaScript表达式。在JSX中,可以使用{}包裹JavaScript表达式&…...
在Java中如何使用List集合实现分页,以及模糊查询后分页
物理分页工具类 package com.yutu.garden.utils;import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors;/*** ClassName: PageUtils* Description: 物理分页* Author* Date …...
tmi8150b设置电机速度有两个地方,x轴电机,y轴电机,具体如下
tmi8150b设置电机速度有两个地方,x轴电机,y轴电机,具体如下x轴电机y轴电机...
OpenClaw定时任务实战:用Phi-3-vision-128k-instruct每日自动生成图文日报
OpenClaw定时任务实战:用Phi-3-vision-128k-instruct每日自动生成图文日报 1. 为什么需要自动化日报系统 每天早晨打开电脑,第一件事就是手动整理前一天的各类数据——项目进度、系统日志、团队协作记录,然后花半小时拼凑成一份图文并茂的日…...
AI群演请就位—个人博客(一)
项目背景随着大语言模型能力的提升,AI在内容生成与互动体验中的应用日益广泛。传统互动叙事类产品(如互动小说、角色扮演游戏)主要依赖预设脚本与有限分支选择,存在剧情固化、重复体验感强、角色缺乏真实感等问题。大语言模型的出…...
C++头文件详解:<iomanip> 头文件使用详解
目录 一、前言 二、浮点数精度控制 2.1 fixed 与 setprecision() (1)fixed 的作用 (2)setprecision(n) 的作用 (3)示例:RGB 转 YUV 计算 2.2 scientific 科学计数法 三、设置输出宽度与…...
higress 这个中登才是AI时代的心头好峭
核心摘要:这篇文章能帮你 ?? 1. 彻底搞懂条件分支与循环的适用场景,告别选择困难。 ?? 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。 ?? 3. 识别流程控制中的常见“坑”,并学会如何优雅地绕过去。 ?? 主要内容脉络 ?? 一、痛…...
嵌入式RGB LED平滑过渡控制库GRGB设计解析
1. 项目概述GRGB 是一个专为嵌入式平台设计的轻量级 RGB LED 平滑控制库,其核心目标是解决传统 PWM 控制下 LED 色彩跳变、亮度阶跃明显、人眼可察觉闪烁等工程痛点。该库不依赖操作系统抽象层(如 FreeRTOS 任务调度),亦不绑定特定…...
Spring Boot 4.0 Agent-Ready不是未来式——是今天上线就必须具备的生产红线(附GDPR/等保2.0合规增强checklist)
第一章:Spring Boot 4.0 Agent-Ready不是未来式——是今天上线就必须具备的生产红线(附GDPR/等保2.0合规增强checklist)Spring Boot 4.0 正式将 JVM Agent 集成能力列为启动时强制校验项,而非可选扩展。这意味着任何未通过 java -…...
NFC Tool 免vip,使用联动密钥破解加密门禁卡教程
nfc门禁破解共享密钥,免vip使用联动密钥破解加密门禁卡 本项目将不定期更新密钥~~~~ 使用方式 方式一:使用本项目的 Android 扫描 APP(推荐) 本项目提供了一个独立的 Android 应用,内置密钥库,无需下载…...
【Dv3Admin】Django一键配置权限规则
源码中的角色—菜单—按钮—字段权限控制,往往是后台系统中最容易被忽略、却最容易出问题的部分。一旦权限粒度设计不清晰,就会出现按钮越权、字段泄露、前端渲染混乱等一系列连锁问题,这类问题通常并非单点错误,而是接口设计与数…...
2026届毕业生推荐的六大AI辅助论文方案推荐榜单
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术论文撰写里,DeepSeek是智能写作辅助工具,它展现出显著效能。使…...
