2017-02-03 10 views
0

こんにちは私はboost::Date_timeを使用して時間に戻って行きたいです。たとえば、日付を10日前の日付に設定します。私はday_iteratorを使ってみましたが、今まで運がありませんでした。 は、ここに私の試みです:ヘルプブースト日付時間が戻る

+0

こんにちは、後押し:: DATE_TIMEに行くには十分ではありません時間の余裕があれば、フル機能のタイムマシンが必要です。申し訳ありませんが、抵抗できませんでした。今話題について:あなたの実際の目標は何ですか?ある日付を他の日付から引いて、過去の結果を得るだけでいいですか?また、 'std :: chrono'の使用はどうですか? – SingerOfTheFall

+0

'day_iterator'が元の日付を変更しないため、コードが機能しません。新しい日付オブジェクトが作成されます。 – flyx

答えて

1

ため

boost::gregorian::date dateGenerator(int howManyDays) 
{ 
    boost::posix_time::ptime now = boost::posix_time::second_clock::local_time(); 

    boost::gregorian::date date(now.date()); 
    boost::gregorian::day_iterator dayIterator(data,-1); 

    for (; howManyDays != 0; ++dayIterator) 
    { 
     howManyDays--; 
    } 
    return date; 

} 

ありがとうございますが、使用して日からdate durationを引くことができ- operator

date_duration dd(howManyDays); 
date d2 = date - dd; 
return d2; 
+0

魅力的な作品です。おかげで多くの仲間 – Dargor66