只求人生若初 2015-09-21 03:27 采纳率: 0%
浏览 3160

C语言,time.h中得mktime函数测试出一些问题,当tm_hour = 0时,转化成前一天了

mktime函数,当tm结构体,当tm_hour为零的时候,会将时间转化到前一天,
tm_hour 不为零的时候,就没有问题。小菜一枚,help~没有币~~抱歉~

#include
#include
void printTime(struct tm * time){
printf("%d-%d-%d %d:%d:%d\n",time->tm_year+1900,time->tm_mon+1,time->tm_mday,time->tm_hour,time->tm_min,time->tm_sec);
}
struct tm str2time(char * str){
struct tm tmp_time = (struct tm *)malloc(sizeof(struct tm));
strptime(str,"%Y%m%d",tmp_time);
return *tmp_time;
}
int main(int argc, const char * argv[]) {
struct tm tmp_time =str2time("201509021");//将字符串转成时间
printTime(&tmp_time);
time_t t = mktime(&tmp_time);//该函数有问题。。。。。
tmp_time = *localtime(&t);//本地时间
printf("%s:\n","本地时间");
printTime(&tmp_time);
}
结果如下:
2015-9-21 0:0:0
本地时间:
2015-9-20 23:0:0

  • 写回答

1条回答 默认 最新

  • 只求人生若初 2015-09-21 05:17
    关注

    自己对tm结构理解有问题,tm_hour =0 ,表示的本来就应该是前一天24点,其他的1~23分别表示的是1时到23时。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog