C 语言获取系统时间

time函数:获取当前日期。

头文件原型说明返回值
#include <time.h>time_t time(time_t *timer)求出日期时间。返回当前的日期时间。若日期时间无效,则返回-1。若timer不为NULL,则在timer指向的对象中也保存日期时间。

localtime 函数可以将 time_t类型的时间转换为 年 、月、日、时、分、秒等我们日常生活中使用的时间形式。

头文件原型说明返回值
#include <time.h>struct tm *localtime(const time_t *timer)通过时间结构体类型将日期时间转换为相应的本地时间。返回指向转换后时间的指针。

struct tm 结构体

#include <time.h>
/* 保存日期时间的时间结构体类型。 */
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;    // 距离1月份的月数  [0, 11]
	int tm_year;   //  距离 1900 年的年数
	int tm_wday;  // 距离星期日的天数  [0, 6]
	int tm_yday;  // 距离1月1日的天数  [0, 465]
	int tm_isdst;   // 夏令时
}
#include <time.h>
#include <stdio.h>

void put_date(void){
	time_t current;
	struct tm *local;
	char wday_name[][7] = {"日", "一", "二", "三", "四", "五", "六"};
	
	time(&current);
	local = localtime(&current);
	printf("%4d年%02d月%02d日 星期%s %02d:%02d:%02d", local->tm_year + 1900, local->tm_mon + 1, local->tm_mday, wday_name[local->tm_wday], local->tm_hour, local->tm_min, local->tm_sec); 
}

int main(void){
	printf("今天是");
	put_date();
	putchar('\n');
	
	return 0;
}

运行结果:
在这里插入图片描述

localtime 函数:从日历时间转换为分解时间

  1. localtime函数会返回转换后的 struct tm 类型对象的地址。
  2. 将其值转换为tm结构体类型的分解时间。
  3. 用公历表示分解时间。这时, tm_year + 1900,tm_mon + 1。由于星期日到星期六分别对应0到6,因此利用数组 wday_name 将表示星期的 tm_wday 转换为字符串年 、月、日、时、分、秒。

注:
转换后的 struct tm 类型对象已由localtime函数定义(在编写的程序中不能自行定义)。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值