[英]Compare DayTime strings in C++
如果我有一個以“mm/dd-hh:mm”格式存儲日期和時間的字符串,我該如何創建提前兩天的字符串?
您可以使用 Howard Hinnant 的日期庫。
"01/"
)的內容來修復輸入字符串,以便date::from_stream
將日期和時間輸入字符串解析為時間點( tp1
) 正確。tp1
提前兩天的日期,即tp1 + days{2}
。date::format
將新日期格式化回字符串。#include <chrono>
#include <date/date.h>
#include <iostream> // cout
#include <sstream> // istringstream
#include <string>
std::string two_days_ahead(const std::string& dt) {
auto fixed_dt{std::string{"01/"} + dt};
std::istringstream iss{fixed_dt};
date::sys_time<std::chrono::minutes> tp1{};
date::from_stream(iss, "%y/%m/%d-%H:%M", tp1);
return date::format("%m/%d-%H:%M", tp1 + date::days{2});
}
int main() {
std::cout << two_days_ahead("10/30-09:50") << "\n";
}
// Input: "10/30-09:50"
// Output: 11/01-09:50
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.