| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 778 人关注过本帖
标题:获取系统时间问题,为什么输出的小时不对?
只看楼主 加入收藏
hwf214685147
Rank: 2
等 级:论坛游民
帖 子:70
专家分:94
注 册:2011-9-14
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:3 
获取系统时间问题,为什么输出的小时不对?
程序代码:
main()
{
    
    int second = 0; //临时参数,用来与当前时间比较
    while(true) //实现了每N秒钟执行一条语句的功能 
    {
        time_t   time_now = time(0); //调用系统函数,并初始化 
        struct   tm *time_p = gmtime(&time_now); //获取当前时间 
        if(time_p-> tm_sec != second); //判断时间是否更新 
        { 
            if(time_p-> tm_sec %3 == 0)//每三秒钟执行一次语句 
            { 
                printf( "The current time is:"); 
                printf( "%d",time_p-> tm_hour); 
                printf( ":"); 
                printf( "%d",time_p-> tm_min); 
                printf( ":"); 
                printf( "%d\n",time_p-> tm_sec); 

                printf( "hello,netant!\n "); 
            } 
        } 
        second = time_p-> tm_sec; //更新临时变量
        //system("pause");
        //return   0;         
        
    }
    
}


我编译的当前系统时间是:2011-12-8 15:19:20  输出结果  7:19:20

[ 本帖最后由 hwf214685147 于 2011-12-8 15:20 编辑 ]
搜索更多相关主题的帖子: 时间 系统 
2011-12-08 15:18
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:20 
time()函数?没学过,有点含糊!
2011-12-08 15:37
hwf214685147
Rank: 2
等 级:论坛游民
帖 子:70
专家分:94
注 册:2011-9-14
收藏
得分:0 
回复 2楼 jj369258
 我们可以通过time()函数来获得日历时间(Calendar Time),其原型为:time_t time(time_t * timer);

  如果你已经声明了参数timer,你可以从参数timer返回现在的日历时间,同时也可以通过返回值返回现在的日历时间,即从一个时间点(例 如:1970 年1月1日0时0分0秒)到现在此时的秒数。如果参数为空(NUL),函数将只通过返回值返回现在的日历时间,比如下面这个例子用来显示当前的日历时间:

  #include "time.h"

  #include "stdio.h"

  int main(void)

  {

  struct tm *ptr;

  time_t lt;

  lt =time(NUL);

  printf("The Calendar Time now is %d\n",lt);

  return 0;

  }

  运行的结果与当时的时间有关,我当时运行的结果是:

  The Calendar Time now is 1122707619

  其中1122707619就是我运行程序时的日历时间。即从1970年1月1日0时0分0秒到此时的秒数。
2011-12-08 15:49
hwf214685147
Rank: 2
等 级:论坛游民
帖 子:70
专家分:94
注 册:2011-9-14
收藏
得分:0 
我明白了,我用的函数错了,gmtime()这个函数得到的是标准世界时间(即格林尼治时间),而获取本地时间要用localtime()函数

谢谢你的回答!
2011-12-08 16:02
快速回复:获取系统时间问题,为什么输出的小时不对?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020018 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved