需求概述
对于特定格式的时间字符串,需要将其转换为标准的时间戳,用于代码中进行存储或者计算。
时间格式案例
- YYYY-MM-DD HH:mm:ss
时间戳转换代码
#include <ctime>
#include <chrono>
long long ChangeTimeToTimestamp(std::string &intpu_time)
{
try
{
int year,month,day,hour,minute,second;
struct tm time_info;
strptime(intpu_time.c_str(),"%Y-%m-%d %H:%M:%S",&time_info);
auto timestamp = std::chrono::system_clock::from_time_t(std::mktime(&time_info));
auto duration = timestamp.time_since_epoch();
auto milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
return milliseconds;
}
catch(const std::exception& e)
{
throw e;
}
}
测试数据
北京时间:2023-6-13 8:5:12
时间戳:1686614712
函数详解
待补充