KEIL MDK 中localtime函数使用方法(嵌入式用)

本文介绍了在KEILMDK环境下,如何使用localtime和gmtime函数将Unix时间戳转换为日期和时间。由于时区问题,localtime可能返回0时区时间,需要手动调整为北京时间。示例代码展示了如何将时间戳转换并获取年、月、日、小时、分钟和秒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KEIL MDK 中localtime函数使用方法
localtime函数用于将Unix时间戳转换成本地世界协调时间(Universal Time Coordinated,UTC),gmtime函数用于将Unix时间戳转换成0时区UTC时间。

在嵌入式系统中,可能因为时区未设置,导致localtime得到的也是0时区时间,需要自己加8小时得到北京时间。

1、首先包含time.h头文件。

2、示例如下。

 2 {
 3     uint32_t t = unixtime + 28800;    //北京时间是东8区,时间戳要加8小时
 4     struct tm *t_tm;
 5 
 6     t_tm = localtime(&t);
 7     date->year   = tm->tm_year + 1900;
 8     date->month  = tm->tm_mon + 1;
 9     date->day    = tm->tm_mday;
10     date->hour   = tm->tm_hour;
11     date->minute = tm->tm_min;
12     date->second = tm->tm_sec;
13 }

补充:

GMT(Greenwich Mean Time)时间,又叫格林威治时间。把格林威治1970年1月1日0点0分0秒定义为时间0。当前GMT时间是指从时间0到此时经过的秒数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫邪博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值