mrDarker
2025-06-19 4e5df2e71445ca3c0cc412e24510234e671b6072
SourceCode/Bond/Servo/ToolUnits.cpp
@@ -2,6 +2,7 @@
#include "ToolUnits.h"
#include <chrono>
#include <memory>
#include <sstream>
CToolUnits::CToolUnits()
@@ -73,10 +74,17 @@
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)
@@ -301,4 +309,31 @@
      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);
   }
}