linux设置时间和把时间从UTC转成本地时间的

peng6sl 2010-03-09 03:24:08
从串口收到时间,是UTC格式的,首先用什么函数可已设置系统时间呢,其次得到的是UTC时间,我知道+8就是北京时间,但是这里面还要考虑特殊的情况吧,比如一年的最后一天等等,所有有什么函数可以转而不需要自己做的吗?
...全文
900 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
peng6sl 2010-03-23
  • 打赏
  • 举报
回复
int main()
{
//struct tm tms; //存储国际标准时间
//time_t time = mktime(&tms); //返回自国际标准时间后的秒数
//struct tm *tmsptr = localtime(&time); //转换成本地时间
struct tm p;
char showtime[100];
time_t timep;
p.tm_sec=59;
p.tm_min=59;
p.tm_hour=23;
p.tm_year=2020-1970;
p.tm_mon=11;
p.tm_mday=30;
timep=mktime(&p);
printf("the seconds=%d\n",timep);
struct tm *timenow = localtime(&timep);
sprintf(showtime,"%d/%d/%d/%d:%d",(timenow->tm_year+1970),timenow->tm_mon,timenow->tm_mday,timenow->tm_hour,timenow->tm_min);
printf("%s\n",showtime);
return 1;
}
elated 2010-03-10
  • 打赏
  • 举报
回复

struct tm tms; //存储国际标准时间
time_t time = mktime(&tms); //返回自国际标准时间后的秒数
struct tm *tmsptr = localtime(&time); //转换成本地时间
steptodream 2010-03-10
  • 打赏
  • 举报
回复
引用 3 楼 peng6sl 的回复:
能不能给个例子呀,比如说串口发过来的时间是2010,03,09,12:10,我该怎么调用楼上说的函数呢

用什么函数都告诉你了 你man一下这个函数 或者去网上查查他的使用方法不就得了
peng6sl 2010-03-10
  • 打赏
  • 举报
回复
能不能给个例子呀,比如说串口发过来的时间是2010,03,09,12:10,我该怎么调用楼上说的函数呢
谭海燕 2010-03-09
  • 打赏
  • 举报
回复
引用 1 楼 mymtom 的回复:
设置时间
settimeofday
本地时间
time();
localtime();
strftime();



顶,就是这个
mymtom 2010-03-09
  • 打赏
  • 举报
回复
设置时间
settimeofday
本地时间
time();
localtime();
strftime();

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧