比如:将300秒转换成00:05:00,也就是5分钟。秒数我保存在一个double变量里,时间我保存在一个 COleDateTime 变量里。请高手指点!!!

解决方案 »

  1.   

    double src = 300;
    double hour = src/3600;
    double minute = (src-hour*3600)/60;
    double second = src-hour*3600-minute*60;
    COleDateTime time;
    time.SetTime(hour, minute, second);
      

  2.   

    double temp = 300;
    COleDateTime dt(temp/24/3600);
      

  3.   

    long lSecond = 123456;  //秒数
    int  s       = lSecond % 60 ;  //秒数
    long x       = lSecond / 60 ;
    int  m       = x % 60;         //分钟
    long h       = x / 60;         //小时COleDateTiem cTime;
    cTime.SetTime(h,m,s);
      

  4.   

    double src = 300;
    int hour = src/3600;
    int minute = (src-hour*3600)/60;
    int second = src-hour*3600-minute*60;
    COleDateTime time;
    time.SetTime(hour, minute, second);
      

  5.   

    double src = 300;
    int hour = src/3600;
    int minute = (src%3600)/60
    int second = (src%3600%60)
    COleDateTime time;
    time.SetTime(hour, minute, second);
      

  6.   

    来者有分,不过 onestation(新手) 的方法最简单!!!
    ===============================================double temp = 300;
    COleDateTime dt(temp/24/3600);===============================================
    解释:(temp/24/3600)其实就是把秒数转换成天数,比如0.5天就是12个小时,12个小时就是720分钟,720分钟就是43200秒;只要把秒数转换成天数后,COleDateTime会帮你转换成时:分:秒。不过,我建议这样写更好些:(temp/3600/24)
    还可以这样写:(temp/60/60/24)
    ===============================================
      

  7.   

    COleDateTime dt(temp/24/3600);这种时间是有基准的,不是现在
      

  8.   

    double i=300;
    COleDateTime dt(i/24/60/60);
      MessageBox(dt.Format("%H-%M-%S"));
      

  9.   

    time_t tc = 300;
    CTimeSpan sp(tc);
    TRACE("%s\n", sp.Format("%H:%M:%S"));
    这个才是正解!