大家好,又见面了,我是你们的朋友全栈君。
背景
最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日期格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在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/
可以看到时间戳就是当前的时间
这里有一些时间的概念,就不一一赘述,毕竟网上资料比较多。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。