//时间测试,将unix timestamp 和本地时间进行转换
//0x5a603bfe 北京时间 2018/1/18 14:17:34
/* 下面打印是的格林威治标准时间
年:118
月:0
日:18
时:6
分:17
秒:34
格林威治标准时间比北京时间晚8个小时
*/
void time_test(void)
{
//将unix timestamp 转为本地时间
struct tm *gm_date;
time_t seconds=0x5a603bfe;//unix timestamp
gm_date = localtime(&seconds);
printf("年:%d \r\n",gm_date->tm_year);
printf("月:%d \r\n",gm_date->tm_mon);
printf("日:%d \r\n",gm_date->tm_mday);
printf("时:%d \r\n",gm_date->tm_hour);
printf("分:%d \r\n",gm_date->tm_min);
printf("秒:%d \r\n",gm_date->tm_sec);
//将本地时间转为unix timestamp
gm_date->tm_year=118;//2018年,+1900就是现在的年
gm_date->tm_mon=3;//4月
gm_date->tm_mday=11;
gm_date->tm_hour=10;
gm_date->tm_min=8;
gm_date->tm_sec=30;
seconds=mktime(gm_date);
printf("unix timestamp:%08x \r\n",seconds);
//unix timestamp:5acdde9e
//北京时间: 2018/4/11 18:8:30
}
STM32 KEIL MDK 本地时间和Unix timestamp相互转换
最新推荐文章于 2024-03-06 17:47:32 发布