[英]Subtracting months/years from boost::posix_time::ptime
我有一個boost::posix_time::ptime
指向March 31st 2010
這樣:
ptime p(date(2010, Mar, 31));
我想從這個日期減去一個月(可能還有幾年)。 從文檔中我看到這兩個運算符: ptime operator-(time_duration)
和ptime operator-(days)
但它們都不能用數月/年。 如果我嘗試做:
time_duration duration = hours(24 * 30);
ptime pp = p - duration;
我要三月一日,如果我正在嘗試:
ptime pp = p - days(30);
我還在3月1日,而我想要2月28日。
我怎樣才能達到理想的效果? (我希望從3月28日,29日,30日減去一個月時也能獲得理想的結果)
boost :: posix_time :: ptime :: date()運算符返回日期對象。 您可以為此對象調用greg_year,greg_month等。
好吧,我想你已經知道並非所有月份都有30天,所以一般不能減去30天。
你應該通過“減去一個月”來問自己你的意思。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.