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日

相关文章

  • python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案

    Python对任意数据和曲线进行拟合并求出函数表达式有以下三种常见的解决方案: 多项式拟合: 多项式拟合是一种最简单的拟合方法,其实现思路是在已有的数据点上,通过构建一个多项式,来逼近已知的函数。在Python中,使用numpy库中的polyfit函数来实现多项式拟合。具体步骤如下: import numpy as np import matplotlib.…

    C 2023年5月22日
    00
  • 浅析C语言头文件和库的一些问题

    浅析C语言头文件和库的一些问题 什么是C语言头文件和库? C语言头文件是在程序编写过程中所需的预先编写好的源文件,主要是为了让程序能够调用已经定义好的函数和变量。C库则是一个集成了常用函数的代码集合。这些函数可以在程序中直接调用,而不需要重复编写代码。头文件和库文件的作用是简化程序的编写过程,提高代码的复用性和可维护性。 C语言头文件的分类 系统头文件 系统…

    C 2023年5月23日
    00
  • C语言 二叉查找树性质详解及实例代码

    C语言二叉查找树性质详解及实例代码 什么是二叉查找树? 二叉查找树,也称二叉搜索树,它是一种基于对比的动态数据结构。它的定义如下: 每个节点都包含一个键值,且键值唯一; 每个节点的左子树只包含小于当前节点的节点; 每个节点的右子树只包含大于当前节点的节点; 左右子树都是二叉搜索树; 二叉查找树的性质 二叉查找树的性质体现在它的增、删、查等操作中,具体有以下几…

    C 2023年5月24日
    00
  • c++如何保存vector到文件

    下面我将为您详细讲解C++如何保存vector到文件。 1. 使用文件流将vector对象保存到文件中 我们可以使用C++的文件流(fstream)来将vector对象保存到文件中。具体步骤如下: 引入头文件#include 打开文件,可以使用ofstream类的构造函数来打开文件,并指定打开方式、文件名等信息。如下: std::ofstream ofs(&…

    C 2023年5月23日
    00
  • 剖析C语言关键字之void,const,return

    剖析C语言关键字之void 概述 void 是 C 语言中表示“无类型”的关键字。它通常用于函数声明,表示该函数不返回任何值。 函数声明 使用 void 关键字的函数声明可以没有参数也可以有一个或多个参数,但是不会返回任何值。例如: void myFunction(void); void myFunctionWithParams(int a, float b…

    C 2023年5月24日
    00
  • C程序 比较两个字符串的词性

    下面详细讲解如何使用C程序比较两个字符串的词性。 1. 简介 本C程序用于比较两个字符串的词性是否相同,主要基于基于哈工大的LTP自然语言处理工具实现。 2. 使用攻略 2.1 安装 首先需要安装LTP,可以参考LTP官方文档进行安装。安装完成后,需要将LTP的相关库文件添加到系统环境变量中。 另外,需要安装CMake进行编译。可以在官网上下载对应系统的安装…

    C 2023年5月9日
    00
  • SQLite教程(十三):C语言编程实例代码(1)

    下面详细讲解一下“SQLite教程(十三):C语言编程实例代码(1)”的完整攻略。 标题 1. 背景信息 在介绍代码实例之前,我们需要了解一些背景信息。SQLite是一个轻量级的数据库引擎,它不需要独立的服务器进程,它与应用程序共享同一个地址空间,这就意味着它非常适合嵌入式设备、移动设备和小型应用程序。 C语言是一种广泛使用的编程语言,也被使用在许多嵌入式设…

    C 2023年5月22日
    00
  • 如何使用VC库函数中的快速排序函数

    如何使用VC库函数中的快速排序函数: 快速排序(QuickSort)是一种常见的排序算法,其时间复杂度通常是O(n*logn)。在C语言的VC库函数中,有提供一个快速排序的函数qsort()可以使用。 使用步骤如下: 首先需要包含头文件#include ,因为qsort函数在stdlib.h中声明。 定义一个待排序的数组arr[],以及元素个数n。 int …

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