C++时间格式化输出,延时秒毫秒(sleep,msleep)

#include <string>

using namespace std;

//defin common date-time format string
static const char* fmt_def[7] = {
    "[%Y-%m-%d %H:%M:%S]",  //[2016-12-12 14:30:20]
    "[%Y/%m/%d %H:%M:%S]",  //[2016-12-12 14:30:20]
    "%Y-%m-%d %H:%M:%S",    //2016-12-12 14:30:20
    "%Y/%m/%d %H:%M:%S",    //2016/12/12 14:30:20
    "%Y-%m-%d",             //2016-12-12
    "%Y/%m/%d",             //2016/12/12
    "%H:%M:%S"              //14:30:20
};

//format date-time to string
string fmt_date_time(const char* fmt);

//this thread sleep milliseconds
void msleep(unsigned long msecs);

//this thread sleep seconds
void sleep(unsigned long secs);

//CPP

#include <thread>
//#include <chrono>
//#include <ctime>

string fmt_date_time(const char* fmt)
{
    time_t rawtime;
    time(&rawtime);
    struct tm * timeinfo = localtime (&rawtime);
    char buffer[256] = {0};
    strftime (buffer, 256, fmt, timeinfo);
    return string(buffer);
}

void msleep(unsigned long msecs)
{
    //clock_t now = clock();
    //while ((clock()-now)<msecs);

    //C++11 support
    std::this_thread::sleep_for(std::chrono::milliseconds(msecs));
}

void sleep(unsigned long secs)
{
//    time_t start = time(nullptr);
//    time_t stop = start;
//    while (difftime(stop, start) < secs) {
//        stop = time(nullptr);
//    }

    //C++11 support
    std::this_thread::sleep_for(std::chrono::seconds(secs));
}

 

转载于:https://my.oschina.net/u/3489228/blog/1503497

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值