簡體   English   中英

從boost :: posix_time :: ptime減去月/年

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM