| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2145 人关注过本帖
标题:如何获得某个日期和当前日期的时间差?
只看楼主 加入收藏
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
如何获得某个日期和当前日期的时间差?
#include "time.h"
#include <conio.h>
#include "stdio.h"
int main(void)
{
     struct tm *p1;
     time_t lt,yd;
     double ts;
     char a[50];
     time(&lt);
     localtime(&lt);
     p1=localtime(&yd);
     p1->tm_year=2015-1900;//本例是今年元旦和现在的时间差值
     p1->tm_mon=1-1;
     p1->tm_mday=1;
     p1->tm_hour=0;
     p1->tm_min=0;
     p1->tm_sec=0;
     yd=mktime(p1);
     ts=difftime(lt,yd);//获取时间差
     printf("%ld",ts);//结果是个不定的数
     getch();
     return 0;
} //究竟错在哪儿,对时间函数不是十分熟悉

[此贴子已经被作者于2015-12-14 15:07编辑过]

搜索更多相关主题的帖子: 如何 时间差 return double include 
2015-12-14 15:00
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
究竟错在哪儿
你不说,别人怎么可能知道?最起码你得告诉别人是编译出错,还是运行出错吧

看你的代码,全是怎么不对怎么来
程序代码:
#include <stdio.h>
#include <time.h>

time_t foo( int year, int month, int day )
{
    struct tm tm_ = { 0,0,0, day, month-1, year-1900, 0,0,0 };
    return mktime( &tm_ );
}

int main( void )
{
    time_t a = foo( 2015, 1, 1 );
    time_t b = time( NULL );

    if( a!=-1 && b!=-1 )
    {
        double df = difftime( b, a );
        printf( "%.0f\n", df );
    }

    return 0;
}

2015-12-14 15:54
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
以下是引用rjsp在2015-12-14 15:54:40的发言:

你不说,别人怎么可能知道?最起码你得告诉别人是编译出错,还是运行出错吧

看你的代码,全是怎么不对怎么来
#include  
#include  
 
time_t foo( int year, int month, int day )
{
    struct tm tm_ = { 0,0,0, day, month-1, year-1900, 0,0,0 };
    return mktime( &tm_ );
}
 
int main( void )
{
    time_t a = foo( 2015, 1, 1 );
    time_t b = time( NULL );
 
    if( a!=-1 && b!=-1 )
    {
        double df = difftime( b, a );
        printf( "%.0f\n", df );
    }
 
    return 0;
}
我知道哪错了,输出格式错了!不过知道了另一种编程方法!

[此贴子已经被作者于2015-12-14 16:04编辑过]

2015-12-14 16:02
快速回复:如何获得某个日期和当前日期的时间差?
数据加载中...
 
   



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

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