C 标准库 time.h

time.h 是 C 标准库中的一个头文件,它提供了一系列函数来操作日期和时间。下面我们来详细讲解如何使用 time.h 标准库。

时间表示法

在 time.h 中,通常使用 time_t 类型来表示时间戳(timestamp),即表示从 1970 年 1 月 1 日 0 时 0 分 0 秒到某一个时间点所经过的秒数。时间戳可以用 time() 函数获取。

同时,我们还可以使用 struct tm 类型来表示日期和时间,它包含了下面这些成员:

struct tm {
  int tm_sec;   // Seconds (0-60)
  int tm_min;   // Minutes (0-59)
  int tm_hour;  // Hours (0-23)
  int tm_mday;  // Day of the month (1-31)
  int tm_mon;   // Month (0-11)
  int tm_year;  // Year - 1900
  int tm_wday;  // Day of the week (0-6, Sunday = 0)
  int tm_yday;  // Day in the year (0-365, 1 Jan = 0)
  int tm_isdst; // Daylight saving time
};

具体函数使用

以下是常用的 time.h 函数:

  1. time() 函数

用于获取当前的时间戳。

#include <time.h>

time_t time(time_t *tloc);

参数time_t *tloc可以不传入,也可以传入一个 time_t 类型的指针,该函数会向其存放返回值。

示例:

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

int main() {
    time_t t = time(NULL);
    printf("当前时间戳: %lld\n", t);
    return 0;
}
  1. localtime() 函数

用于将时间戳转换为本地日期和时间。

#include <time.h>

struct tm *localtime(const time_t *timep);

timep 是时间戳的指针。

示例:

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

int main() {
    time_t t = time(NULL);
    struct tm *tm_ptr = localtime(&t);
    printf("当前时间为: %d年%d月%d日 %d:%d:%d\n", tm_ptr->tm_year + 1900,
                tm_ptr->tm_mon + 1, tm_ptr->tm_mday, 
                tm_ptr->tm_hour, tm_ptr->tm_min, tm_ptr->tm_sec);
    return 0;
}

输出:

当前时间为: 2022年06月12日 20:48:57
  1. strftime() 函数

用于将时间转换为字符串表示。

#include <time.h>

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr);

str 是目标字符串,maxsize 是目标字符串的大小,format 是字符串格式,timeptr 是要转换的时间。

下面是 format 参数的格式说明:

标志符 含义
%a 本地缩写星期几
%A 本地完整星期几
%b 本地缩写月份名
%B 本地完整月份名
%c 本地适当日期表示
%d
%H 24 小时制小时数
%I 12 小时制小时数
%j 年内日数
%m
%M 分钟
%p 本地 a.m. 或 p.m.
%S
%U 年内周数(以周日为一周的第一天)
%w 数字表示星期几(0-6)
%W 年内周数(以周一为一周的第一天)
%x 本地适当日期表示(无时区)
%X 本地适当时间表示(无时区)
%y 年份(后两位)
%Y 完整年份
%Z 时区
%% % 字符

示例:

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

int main() {
    time_t t = time(NULL);
    char str[100];
    strftime(str, 100, "%Y-%m-%d %H:%M:%S", localtime(&t));
    printf("当前时间为: %s\n", str);
    return 0;
}

输出:

当前时间为: 2022-06-12 20:53:48

以上就是 time.h 标准库的使用攻略了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C 标准库 time.h - Python技术站

(0)
上一篇 2023年5月10日
下一篇 2023年5月11日

相关文章

  • C语言实现电脑关机程序

    下面是完整的攻略。 C语言实现电脑关机程序 介绍 电脑关机程序是一种可以让计算机系统自动关机的软件程序。在 C 语言中,我们可以使用系统函数来实现这个功能。本文将介绍 C 语言实现电脑关机程序的步骤。 步骤 第一步:引入头文件 在 C 语言中,我们需要引入头文件 windows.h 来使用系统函数。 #include <windows.h> 第二…

    C 2023年5月23日
    00
  • C++小知识:用合适的工具来分析你的代码

    C++小知识:用合适的工具来分析你的代码的攻略如下: 步骤一:选择分析工具 要分析和优化C++代码,我们需要选择一款专门的分析工具。这里推荐几个常用的工具: Valgrind:一款用于检查内存错误的工具 GProf:一款用于分析程序性能瓶颈的工具 Clang Static Analyzer:一款用于静态代码分析的工具 步骤二:对代码进行分析 选择了合适的工具…

    C 2023年5月30日
    00
  • office2003怎么设置R1C1样式?

    当你使用Microsoft Office 2003时,可以选择使用相对参照样式,也就是R1C1样式,而不使用A1样式。下面将为你详细讲解如何设置R1C1样式。 步骤1:进入选项设置 首先打开Microsoft Excel 2003,然后单击工具栏上的“选项”按钮。在弹出的“选项”窗口中,单击“工作表”选项卡。 步骤2:启用R1C1样式选项 在“工作表”选项卡…

    C 2023年5月23日
    00
  • C++中的编译与链接

    C++中的编译与链接是将源代码转换为可执行文件的过程。它分为三个阶段:预处理、编译和链接。 预处理 预处理是C++编译过程的第一个阶段,该阶段将源文件中的预处理指令处理为有效的C++代码。 预处理器在编译之前会检查源文件并执行以下操作: 处理所有以 “#” 开头的预处理指令。 删除所有注释(// 和 / /)。 将所有 #include 指令替换为相应头文件…

    C 2023年5月23日
    00
  • C++ Boost Algorithm算法超详细精讲

    C++ Boost Algorithm算法超详细精讲 Boost是一套C++的开源库,其中包含了许多优秀的算法。本文通过一些常用算法的具体讲解,帮助读者熟练掌握Boost库的使用。 安装Boost库 在使用Boost之前,我们需要先安装Boost库。Boost库可以通过官方网站下载,下载完毕后通过以下步骤进行安装: 解压下载的Boost库文件 打开终端,进入…

    C 2023年5月23日
    00
  • Qt5.9程序打包发布的实现

    以下是针对“Qt5.9程序打包发布的实现”的完整攻略: 一、准备工作 安装Qt5.9及以上版本,并确保已经成功编译出自己的Qt应用程序。 下载安装Inno Setup软件(安装文件下载地址:http://www.jrsoftware.org/isdl.php)。 添加Qt的插件:在Qt的安装目录下,进入Qt version\Tools\mingw530_32…

    C 2023年5月23日
    00
  • exce表格中l怎么计算固定资产折旧计算表?

    计算固定资产折旧是每个企业都必须要做的一个重要的财务工作。在Excel表格中,我们可以通过几个步骤来计算固定资产的折旧,具体的攻略如下: 1. 准备固定资产信息 首先,我们需要准备好固定资产信息,包括固定资产的名称、购置日期、购置金额、预计使用年限、残值等信息。将这些信息填写到Excel的表格中。 2. 计算每年的折旧额 根据固定资产的预计使用年限和残值率,…

    C 2023年5月22日
    00
  • C语言实现简易五子棋小游戏

    C语言实现简易五子棋小游戏攻略 一、项目概述 五子棋是一款非常具有挑战性的游戏,旨在通过落子的方式在棋盘上连成5个同色棋子,进而获胜。本项目的目的是使用C语言编写一个简单的五子棋小游戏,提供人机对战和人人对战两种模式,让玩家在轻松愉快的游戏中提升思考和判断能力。 二、实现思路 1. 游戏的流程 游戏的流程通常分为初始化棋盘、绘制棋盘、落子、判断是否胜利等几个…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部