C++ 关于时间的轮子

时间字符串转chrono::system_clock

std::chrono::system_clock::time_point parse_date(const std::string& date_str) {
    std::tm tm = {};
    std::istringstream ss(date_str);
    ss >> std::get_time(&tm, "%Y-%m-%d"); // 假设日期字符串格式为YYYY-MM-DD
    return std::chrono::system_clock::from_time_t(std::mktime(&tm));
}

解析日期字符串为tm结构体

std::tm parse_date(const std::string& date_str) {
    std::tm tm = {};
    // std::istringstream ss(date_str);
    std::istringstream ss(date_str);
    ss >> std::get_time(&tm, "%Y-%m-%d"); // 假设日期字符串格式为YYYY-MM-DD

    // 更新time_t结构体(更新时间) std::mktime()
    std::chrono::system_clock::from_time_t(std::mktime(&tm));
    ss >> std::get_time(&tm, "%Y-%m-%d"); // 假设日期字符串格式为YYYY-MM-DD
    return tm;
}

将tm结构体日期转换为字符串

std::string format_date(const std::tm &date) {
    std::stringstream ss;
    ss << std::put_time(&date, "%Y-%m-%d");
    return ss.str();
}

获取当前系统时间

std::string ReturnLocalTime(std::string geshi)
{
    auto now = std::chrono::system_clock::now();
    auto nowTime_t = std::chrono::system_clock::to_time_t(now);
    std::stringstream ss;
    ss << std::put_time(localtime(&nowTime_t), geshi.c_str());
    return ss.str();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直在找资料的菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值