c语言 localtime函数 问题
代码是:#include<time.h>#include<stdio.h>main(){longi;structtm*tblock;i=0;tblock=localtim...
代码是:
#include<time.h>
#include<stdio.h>
main()
{ long i;
struct tm *tblock;
i=0;
tblock=localtime(&i);
printf("\n%s",asctime(tblock));
}
结果是:Thu Jan 01 -5:00:00 1970
为什么差了5个小时,我电脑时的时间是gmt+8北京时间
用的是tc,在xp下 展开
#include<time.h>
#include<stdio.h>
main()
{ long i;
struct tm *tblock;
i=0;
tblock=localtime(&i);
printf("\n%s",asctime(tblock));
}
结果是:Thu Jan 01 -5:00:00 1970
为什么差了5个小时,我电脑时的时间是gmt+8北京时间
用的是tc,在xp下 展开
2个回答
展开全部
main()
{ long i;
你这里应该有一句 i = time(NULL); //他会获取自1970年1月1日00:00:00起到当前时刻的秒数。
struct tm *tblock;
i=0;
tblock=localtime(&i); //将i 的值转化为日立时间
printf("\n%s",asctime(tblock)); // 这一句是将时间见转化为对应的字符串。
}
{ long i;
你这里应该有一句 i = time(NULL); //他会获取自1970年1月1日00:00:00起到当前时刻的秒数。
struct tm *tblock;
i=0;
tblock=localtime(&i); //将i 的值转化为日立时间
printf("\n%s",asctime(tblock)); // 这一句是将时间见转化为对应的字符串。
}
追问
我知道都是什么意思,我把i赋值为0,就是想看看i=0的时候会有什么结果。
比如我在这里把 i赋值为 300,那么输出的结果 就会加上300秒。
也就是如果把i赋值为数字的话,就会在hu Jan 01 -5:00:00 1970的基础上,加上相应的秒数。
而问题在于为什么是1970年前的-5小时?如果考虑时区,应该是-8小时啊!
展开全部
#include<time.h>
#include<stdio.h>
main()
{
long i;
struct tm *tblock;
i=0;
i= time(NULL);
tblock=localtime(&i);
printf("\n%s",asctime(tblock));
}
#include<stdio.h>
main()
{
long i;
struct tm *tblock;
i=0;
i= time(NULL);
tblock=localtime(&i);
printf("\n%s",asctime(tblock));
}
追问
我把i赋值为0,就是想看看i=0的时候会有什么结果。
比如我在这里把 i赋值为 300,那么输出的结果 就会加上300秒。
也就是如果把i赋值为数字的话,就会在hu Jan 01 -5:00:00 1970的基础上,加上相应的秒数。
而问题在于为什么是1970年前的-5小时?如果考虑时区,应该是-8小时啊!
追答
是啊,我的是vc 和xp 我的就是 Thu Jan 01 08:00:00 1970
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询