localtime函数 打印本地时间

  • 原型: struct tm *localtime(const time_t *calptr);
  • 头文件 :<time.h>
  • 返回值:
    成功: struct tm *结构体, 原型如下:
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日 */
int tm_isdst; /* 夏令时标识符,夏令时tm_isdst为正;不实行夏令时tm_isdst为0 */
};

此结构体空间由内核自动分配, 而且不要去释放它.

失败: NULL
例1:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/*
struct tm *localtime(const time_t *timer);
*/
int main()
{
	//获取时间
	time_t tt; //时间句柄变量  _int64
	time(&tt); //获取时间句柄
	tm *time = localtime(&tt); //将_int64(time_t)型时间句柄转换成当前时间

	const char* ps[] = {
		"星期日",
		"星期一",
		"星期二",
		"星期三",
		"星期四",
		"星期五",
		"星期六",
	};

	// 输出年月日 时分秒
	printf("%d年%d月%d日 %d时%d分%d秒\n",time->tm_year+1900, time->tm_mon+1,time->tm_mday,
		time->tm_hour,time->tm_min,time->tm_sec);

	//输出当前时星期几
	printf("当前是%s\n",ps[time->tm_wday]);

	return 0;
}

例2 对时间格式进行调整

//...
time_t now_time = time(NULL);    //获取系统时间
tm*  t_tm = localtime(&now_time);
char* strTime=  asctime(t_tm);

int ii=0;
for(ii=0;strTime[ii]!='\n';ii++)
{
	if(strTime[ii]==' ')
		strTime[ii]='_';
}
strTime[ii]='_';				
printf("local time is: %s\n", strTime);	
//...

以上只在linux环境下通过, C/C++通用, WINDOWS不清楚是否不同。这两个是标准C的函数,应该不会相差太大。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值