c语言获取当前日期和时间
- `time_t`类型:日历时间
- `time`函数:获取当前日历时间
- tm 结构体:分解时间
- `localtime`函数:从日历时间转换为分解时间
- 代码
time_t
类型:日历时间
typedef long time_t;time_t实际上是long型,从一个时间点(一般是1970年1月1日0时0分0秒)到当前的秒数。
time
函数:获取当前日历时间
time函数可以获取当前日历时间。该函数不仅会将所求得的日历时间作为返回值返回,还会将其保存在参数所指向的变量中。
有以下三种调用方式
time(¤t)
current = time(NULL)
current = time(¤t)
tm 结构体:分解时间
表示日历时间的time _t型,是算术类型的数值,对计算机来说计算起来比较容易,但是对我们来说却不是那么直观。为此,C语言中还提供了另外一种表示时间的方法,即称为分解时间(broken-down time)的结构体数据类型tm.
struct tm{
int tm_sec; //秒(0~61)
int tm_min; //分(0~59)
int tm_hour; //小时(0~23)
int tm_mday;//日(1~31)
int tm_mon;//月份(0~11)
int tm_year;//年,从1970年至今经过的年数
int tm_wday;// 星期:(0~6)
int tm_yday; // 天数(0~365)
int tm_isdst;//夏令时 daylight-saving time
}
- 成员tm_sec 取值范围是
0~61
,而非0~59
。这是因为考虑了闰秒。
闰秒简介
localtime
函数:从日历时间转换为分解时间
代码
#include <stdio.h>
#include <string.h>
#include <time.h>
int main(void)
{
struct tm t; //tm结构指针
time_t now; //声明time_t类型变量
time(&now); //获取系统日期和时间
localtime_s(&t, &now); //获取当地日期和时间
//格式化输出本地时间
printf("年:%d\n", t.tm_year + 1900);
printf("月:%d\n", t.tm_mon + 1);
printf("日:%d\n", t.tm_mday);
printf("周:%d\n", t.tm_wday);
printf("一年中:%d\n", t.tm_yday);
printf("时:%d\n", t.tm_hour);
printf("分:%d\n", t.tm_min);
printf("秒:%d\n", t.tm_sec);
printf("夏令时:%d\n", t.tm_isdst);
//getchar();
return 0;
}
更多推荐
c语言获取当前日期和时间
发布评论