#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)); }