C语言时间函数介绍
程序员文章站
2024-01-28 19:55:41
...
C语言中有一个可以获取当地时间的函数,刚刚接触,写一点使用方法。
使用时间函数要预编译#include<time.h>头文件。
操作时间的函数具体有下面几个。
time_t time(time_t *t);:返回当前距1970年1月1号的秒 参数:一般填充NULL
struct tm *localtime(const time_t *timep);//将秒数转换为本地详细时间描述
char *ctime(const time_t *timep);//将秒数转换为本地时间字符串
struct tm *gmtime(const time_t *timep);//将秒数转换为国际标准时间详细描述
char *asctime(const struct tm *tm);//将时间的详细描述转换为字符串
这个是C语言中存放时间结构体。
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 代表一月) :取值区间为[0,11] */
int tm_year; /* 年份:其值等于实际年份加上 1900 */
int tm_wday; /* 星期:取值区间为[0,6],其中 0 代表星期天,1 代表星期一,以此类推 */
int tm_yday; /*从每年的 1 月 1 日开始的天数:取值区间为[0,365],其中 0 代表 1 月 1 日,1 代表 1 月 2 日,以此类推*/
int tm_isdst; /* 夏令时 */
};
计算时间是把从1970年开始到现在的秒数,通过计算得出现在的年月日时分秒。
因此计算时间首先要获取秒数,然后处理输出。
time_t tm;//定义一个接收秒数的变量
time_t //是一个重定义过的typedef unsigned long time_t;
下面每个处理秒数的函数都给一个实例:
获取秒
获取秒数的方法1
#include<stdio.h>
#include<time.h>
int main()
{
time_t tm;//定义一个接收秒数的变量
tm = time(NULL);//time返回秒数
printf("%ld\n", tm);//打印秒数
return 0;
}
获取秒数的方法2
#include<stdio.h>
#include<time.h>
int main()
{
time_t tm;//定义一个接收秒数的变量
time(&tm);//tm是秒数
printf("%ld\n", tm);
return 0;
}
有两种方法不难看出time函数是用来获取秒的
time_t time(time_t *t);:返回当前距1970年1月1号的秒
处理秒的函数
char *ctime(const time_t *timep); | 将秒数转换为本地时间字符串 |
---|
#include<stdio.h> #include<time.h>
int main()
{
char *day;
time_t tm = 0;
time(&tm);//获取秒
day = ctime(&tm);//将秒转换为本地时间字符串,注意传参是地址传递
//printf("%s", ctime(&tm));
printf("%s", day);//打印本地时间。会自动换行
return 0;
}
struct tm *localtime(const time_t *timep); | 将秒数转换为本地详细时间描述 |
---|
在这里插入代码片
struct tm *gmtime(const time_t *timep); | 将秒数转换为国际标准时间详细描述 |
---|
char *asctime(const struct tm *tm); | 将时间的详细描述转换为字符串 |
---|
time_t sectime;//顶一个结构体变量
time(§ime);//sectime就变成了从1970年开始的秒数。
sectime = time(NULL);
long ret;
ret = time(§ime);//ret也是从1970年开始的秒数和上面的效果是一样的。注意ret要是long型的。
ctime(&ret);/ctime(§ime);//将秒数转换为本地时间字符串
asctime(localtime(&ret))
推荐阅读
-
C语言时间函数介绍
-
C语言中可变参数的函数,va_start和va_end的使用及原理介绍
-
C语言中如何来获取一段代码的执行时间?
-
C语言中如何获取毫秒级和微秒级时间
-
c语言中获取系统时间的方法
-
C语言中时间的处理(二、获取当前的时间,秒,毫秒,纳秒)
-
linux c 时间函数 time difftime 简介
-
C语言的时间函数(1)gettimeofday,timeval,timezone
-
C语言时间函数(2)之time,ctime,gmtime,localtime,asctime,mktime
-
C语言笔记:标准IO函数 time()、localtime()、gmtime()获取当前系统时间(Linux、windows)