linux 日期转换时间戳_将时间戳转为时间

2022-11-10 16:10:23 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

背景

最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日期格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实现以下。

直接上代码

代码语言:javascript复制
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/time.h> 
#include <time.h>
long getTimestamp()
{ 

int i;
struct timeval tv;
memset(&tv, 0x00, sizeof(tv));
gettimeofday(&tv, NULL);
return tv.tv_sec;
}
void TimestamptoData(long timestamp)
{ 

struct tm *p;
char s[100] = { 
0};	
time_t t=timestamp;  
p = localtime(&t);      
memset(s, 0x00, sizeof(s));
strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", p);
printf("%-10s%s%sn", "data", ": ", s);  
}
int main()
{ 

long Timestamp = getTimestamp();
printf("%-10s%s%ldn", "Timestamp", ": ",Timestamp);
TimestamptoData(Timestamp);
return 0;
}

运行效果

查询当前时间

在网页转换工具中我可以验证下 https://tool.lu/timestamp/

可以看到时间戳就是当前的时间

这里有一些时间的概念,就不一一赘述,毕竟网上资料比较多。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

0 人点赞