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

获取时间,并将时间按一定的格式输出

一、时间函数

1.获取秒数 CTS 北京时间 2.转换为需要个格式 系统时间的获取: 1.time 获得秒数 time_t time(time_t *t); time_t 类型变量

第一种 准备一个变量

time_t tm; time(&tm)

第二种

tm = time(NULL); 功能: 获得1970年到现在的秒数 第一步,先获得秒数再转成其他时间 参数: t:存放秒数的空间首地址 返回值: 成功返回1970年到现在的秒数 失败返回-1

2.localtime struct tm *localtime(const time_t *timep); 功能: 将一个秒数转化成日历时间 参数: timep:保存秒数空间的地址 返回值: 成功返回保存日历时间结构体的指针 失败返回NULL

3.ctime char *ctime(const time_t *timep);//date 功能: 将时间秒数转化成字符串 参数: timep:保存时间空间的地址 返回值: 成功返回获得时间字符串的首地址 失败返回NULL

定义的时间结构体 

二、按一定要求输出时间的函数
  1. strftime 函数用于将时间格式化为字符串。它允许你指定一个格式字符串,并将格式化的时间存储在提供的缓冲区中。

可以根据需求来指定不同的格式化指令来输出不同的日期和时间格式。以下是一些常见的格式化指令:

  • %a - 星期几的简写(例如,Sun, Mon)。
  • %A - 星期几的全称(例如,Sunday, Monday)。
  • %b - 月份的简写(例如,Jan, Feb)。
  • %B - 月份的全称(例如,January, February)。
  • %c - 适合本地的日期和时间表示(例如,Thu Mar 3 14:31:02 2005)。
  • %d - 月份中的第几天(01 到 31)。
  • %H - 小时(24小时制,00 到 23)。
  • %I - 小时(12小时制,01 到 12)。
  • %j - 一年中的第几天(001 到 366)。
  • %m - 月份(01 到 12)。
  • %M - 分钟(00 到 59)。
  • %p - AM 或 PM。
  • %S - 秒(00 到 59)。
  • %U - 一年中的第几周,以星期日为一周的开始。
  • %w - 星期几(0 到 6,0 表示星期日)。
  • %W - 一年中的第几周,以星期一为一周的开始。
  • %x - 适合本地的日期表示(例如,12/31/05)。
  • %X - 适合本地的时间表示(例如,23:59:01)。
  • %y - 年份的后两位(00 到 99)。
  • %Y - 年份的全称(例如,2005)。
  • %Z - 时区的名称。

 示例

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

int main() {
    time_t now;
    time(&now);
    struct tm *local_time = localtime(&now);
    char buffer[80];

    // 格式化为不同的日期和时间格式
    strftime(buffer, sizeof(buffer), "今天是 %A, %B %d, %Y", local_time);
    printf("%s\n", buffer);

    strftime(buffer, sizeof(buffer), "当前时间(年-月-日 时:分:秒): %Y-%m-%d %H:%M:%S", local_time);
    printf("%s\n", buffer);

    strftime(buffer, sizeof(buffer), "今天是星期 %A, 月份 %B, 日 %d", local_time);
    printf("%s\n", buffer);

    strftime(buffer, sizeof(buffer), "一年中的第 %j 天, 周数 %U (星期日起始)", local_time);
    printf("%s\n", buffer);

    strftime(buffer, sizeof(buffer), "时间:%I:%M:%S %p", local_time);
    printf("%s\n", buffer);

    strftime(buffer, sizeof(buffer), "适合本地的日期和时间表示:%c", local_time);
    printf("%s\n", buffer);

    return 0;
}


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

相关文章:

  • 【数据结构进阶】红黑树超详解 + 实现(附源码)
  • FPGA中场战事
  • C#集合操作优化:高效实现批量添加与删除
  • 软件安全性测试报告如何编写?
  • CSRF漏洞学习总结
  • 【BUUCTF】[GXYCTF2019]BabySQli
  • C++:sort自动排序函数
  • cell phone teardown 手机拆卸
  • nvm只有iojs列表解决办法
  • from T2I to T2V
  • 构建响应式 Web 应用:Vue.js 基础指南
  • Kubernetes资源管理常用的标签分类有哪些?
  • IT前端好用的工具集
  • 【科研小白系列】使用screen创建虚拟终端,实现本地关机后服务器仍然跑模型
  • Elasticsearch 使用误区之五——单次请求获取大量数据
  • 实时系统资源监测:AutoPowerOptionsOK确保电脑性能与节能兼备
  • SpringBoot中利用EasyExcel+aop实现一个通用Excel导出功能
  • Mysql 数据库免费使用
  • windows七个消息队列
  • 基于springboot的校园志愿者管理系统的设计与实现 (含源码+sql+视频导入教程+论文+PPT)
  • 数学基础 -- 线性代数之格拉姆-施密特正交化
  • DNAT和SNAT实践
  • 软件测试之单元测试与unittest框架详解
  • Unity SRP 可编程渲染管线的基本用法
  • 虚幻引擎Gameplay探索 Actor 之间的高效通信与交互技巧二
  • 在springboot中如何使用Jetty替换Tomcat