| | |
| | | #include "ToolUnits.h" |
| | | #include <chrono> |
| | | #include <memory> |
| | | #include <sstream> |
| | | |
| | | |
| | | CToolUnits::CToolUnits() |
| | |
| | | |
| | | ULONGLONG CToolUnits::getTimestamp() |
| | | { |
| | | // 返回毫秒数的版本 |
| | | auto now = std::chrono::system_clock::now(); |
| | | auto duration_in_milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()); |
| | | uint64_t timestamp = duration_in_milliseconds.count(); |
| | | return timestamp; |
| | | auto ms = std::chrono::time_point_cast<std::chrono::milliseconds>(now); |
| | | return static_cast<ULONGLONG>(ms.time_since_epoch().count()); |
| | | } |
| | | |
| | | time_t CToolUnits::getUnixTimestamp() |
| | | { |
| | | // 返回秒数的版本 |
| | | auto now = std::chrono::system_clock::now(); |
| | | return std::chrono::system_clock::to_time_t(now); |
| | | } |
| | | |
| | | void CToolUnits::createDir(const char* pszDir) |
| | |
| | | ltm.tm_hour, ltm.tm_min, ltm.tm_sec); |
| | | |
| | | return std::string(buffer); |
| | | } |
| | | |
| | | bool CToolUnits::startsWith(const std::string& str, const std::string& prefix) |
| | | { |
| | | return str.size() >= prefix.size() && str.compare(0, prefix.size(), prefix) == 0; |
| | | } |
| | | |
| | | std::string& CToolUnits::toHexString(int value, std::string& strOut) |
| | | { |
| | | std::stringstream ss; |
| | | ss << std::hex << value; |
| | | strOut = ss.str(); |
| | | |
| | | return strOut; |
| | | } |
| | | |
| | | void CToolUnits::convertString(const char* pszBuffer, int size, std::string& strOut) |
| | | { |
| | | strOut.clear(); |
| | | int nLength = 0; |
| | | for (int i = 0; i < size; i++) { |
| | | if (pszBuffer[i] == '\0') break; |
| | | nLength++; |
| | | } |
| | | if (nLength > 0) { |
| | | strOut = std::string(pszBuffer, nLength); |
| | | } |
| | | } |