私はC++ 11で作業しており、発行日に基づいてアイテムの有効期限を計算しようとしています。アイテムが30日以上前に発行された場合、それが期限切れする必要があります。C++で有効期限を確認する11
#include <ctime>
bool isExpired() {
std::chrono::system_clock::time_point tend = tstart + std::chrono::hours(30 * 24);
std::chrono::system_clock::time_point tnow = std::chrono::system_clock::now();
bool expired = tnow >= tend;
return expired;
}
をしかし、私は簡潔に入力開始日のことができるようにしていないようです。いくつかの他の質問には、いくつかのような
auto ymd = jun/9/2017; // Yields a year_month_day type
std::chrono::system_clock::time_point tstart = sys_days(ymd);
は、C++ 11の中に働くかもしれないが、Xcodeのは確かにそれを好きではないと私はC++ 14と上記の機能をまたいだ場合はわからないんだことが示されました。
この計算をC++ 11で実行する簡潔な方法は何ですか?
あなたは「私は簡潔に入力開始日のことができるようにしていないようです」とは何を意味するのですか? 'std :: chrono :: system_clock :: now()'の何が問題なのですか? – Rakete1111
それはちょうど私かもしれませんが、コードの2番目の部分の文が論理的な順序から少し外れているようです...そして、あなたのisExpired関数の中にあると思われる "tstart"は何ですか?目に見える宣言なしでそれを使用しています... –
@ Rakete1111 'tstart'を' 2017年6月9日 'に設定したいと思っています – Steve