|
- bool CMsoftlimit::isWithinValidityPeriod() {
- // 使用std::chrono的system采用clock获取当前时间 #include <chrono>
- using namespace std::chrono;
- static time采用point<system采用clock> programStartTime = system采用clock::now();
- // 获取当前时间点
- time采用point<system采用clock> now = system采用clock::now();
- // 计算时间差并转换为days
- duration<double> elapsed采用seconds = now - programStartTime;
- double elapsed采用days = elapsed采用seconds.count() / (60 * 60 * 24);
- // 判断是否在有效期内
- return elapsed采用days <= VALID采用DAYS;
- }
- //将time采用point转换为一个时间字符串
- CString timePointToString(std::chrono::time采用point<std::chrono::system采用clock> timePoint)
- {
- // 将time采用point转换为time采用t
- std::time采用t now采用c = std::chrono::system采用clock::to采用time采用t(timePoint);
- // 使用localtime获取tm结构体(表示本地时间)
- std::tm* ptm = std::localtime(&now采用c);
- // 静态缓冲区用于存储格式化后的字符串,注意检查BUFFER采用SIZE大小是否足够
- static char buffer[BUFFER采用SIZE];
- std::memset(buffer, 0, BUFFER采用SIZE); // 清零缓冲区
- std::strftime(buffer, BUFFER采用SIZE, "%Y-%m-%d %H:%M:%S", ptm);
- CString str(buffer);
- return str; // 返回缓冲区地址
- }
复制代码 |
|