关于time的使用

一般来说,我们会用time做这些事情,一个是,获取日期,一个是计算某段代码的运行时间。额,这是vs2008的。C++11有更好的精度。

 

1.运行时间,clock_t单位是(ms),转为s 要/CLOCKS_PER_SEC(1000)

#include <ctime>
#include <string>
#include <time.h>

void printf_cpudifftime(time_t st){
  clock_t en = clock();
  //cout << difftime(en,st) << endl;
  cout<< "Running time is: "<<difftime(en,st)/CLOCKS_PER_SEC<<"s"<<endl;
}

 

接着,使用的话,就这么

    clock_t st = clock();
        ......
    printf_cpudifftime(st);

 

第二种获取日历,有两种时间,一种是localtime,一种是gmtime(这种是标准,无时区,感觉,如果服务器时间要统一就得用这种,噢,还有精度得问题)

std::string printf_gmtime(time_t t){
    std::string ts = std::asctime(gmtime(&t));
    ts.resize(ts.size()-1);    //skip trailing newline
    return ts;
}

std::string printf_loacltime(time_t t){
    // equal ctime(&t);
    std::string ts = std::asctime(localtime(&t));
    ts.resize(ts.size()-1);    //skip trailing newline
    return ts;
}

 

posted @ 2015-08-16 14:30  forxtz  阅读(240)  评论(0编辑  收藏  举报