当前位置: 首页 > article >正文

C 语言格式化输出时间

本文部分内容借助于 AI 生成~

struct tm 是C语言标准库 <time.h> 中自带的结构体类型之一。它用于表示日历时间和日期时间的组成部分。

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,0 表示一月,11 表示十二月)
  • int tm_year: 年份(以 1900 为基准)
  • int tm_wday: 一周中的第几天(0-6,0 表示周日,6 表示周六)
  • int tm_yday: 一年中的第几天(0-365)
  • int tm_isdst: 夏令时标识符(正数表示 DST 有效,0 表示 DST 无效,负数表示 DST 信息不可用)

这些成员变量可以用于存储和处理日历时间和日期时间的信息。可以使用函数如 gmtime()localtime() 将时间戳(time_t 类型)转化为 struct tm 结构体,也可以使用 mktime()struct tm 结构体转化为时间戳。

C o d e Code Code

#include <stdio.h>
#include <time.h>

int main() {
	// time_t 类型是表示时间的整数类型
	time_t now;
	// time() 函数接受一个指向 time_t 变量的指针作为参数,并将当前时间的时间戳保存到该变量中
	time(&now);
	// struct tm 是一个结构体,用来存储时间的各个部分,如年、月、日、小时、分钟、秒等
	// localtime() 将 time_info 变量的时间戳转换为本地时间,并将结果保存到 now 指针变量中
	struct tm* time_info = localtime(&now);
	
	int y = time_info->tm_year + 1900;
	int m = time_info->tm_mon + 1;
	int d = time_info->tm_mday;
	int h = time_info->tm_hour;
	
	printf("---%04d-%02d-%02d %02d:00---\n", y, m, d, h);
	// asctime() 函数接受一个指向 struct tm 结构体的指针作为参数,返回一个格式化的时间字符串
	// 并且返回的字符串末尾有一个'\n'.如果不想要这个'\n'可以这样:
	// string s = asctime(time_info); s = s.substr(0, s.size() - 1);
	printf("---%s---", asctime(time_info));
	
	return 0;
}

输出:

---2023-12-01 21:00---
---Fri Dec 01 21:01:12 2023
---

http://www.kler.cn/a/152769.html

相关文章:

  • JavaWeb-JavaScript
  • 蓝桥杯-02-蓝桥杯C/C++组考点与14届真题
  • 【Windows】内网穿透实现hMailServer远程发送邮件
  • Java基于springboot+vue开发服装商城小程序
  • vue3使用动态component
  • NoSQL 数据建模错误会降低性能
  • 【参数估计】---点估计之矩估计
  • Fiddler抓包工具之fiddler的介绍及安装
  • JVM 字节码
  • 基于vue+element-plus+echarts编写动态绘图页面
  • Visual Studio通过ClaudiaIDE插件设置背景图片
  • Star History 十月开源精选 |AI for Postgres
  • SSE接口的几种实现方式
  • 3D建模对制造企业的价值
  • 设计模式应用之java代码实现(一)
  • 前端知识笔记(十二)—————前端面试容易问到的问题总结
  • JVM类加载与运行时数据区
  • [读论文]meshGPT
  • Python 进阶(十二):随机数(random 模块)
  • 自动化设备如何实现远程监控?