Podczas programowania napotkałem na zaiscie prosty przypadek, natomiast mimo wielu godzin prób i błędówzdecydowałem się skierować pytanie na forum gdyż chyba nie dojdę to tego sam. Mianowicie chciałbym aby w momencie odejmowania od siebie odpowiednich dat, po wyliczeniu otrzymywać ilość dni jakie dane wypożyczenie trwało, problem polega na tym, że chciałbym aby przypadek np. wypożyczenia trwającego 3h rozpatrywano jako dzień, 25h jako 2 dni itd.
boost::posix_time::time_duration td = datę_end - datę_start;
int hours = td.total_milliseconds() / (1000*60*60); // 1000 - second / 60 - minutes / 60 - hours / 24 - day
if(hours % 24 == 0)
return hours / 24;
else
return ceil(hours / 24);
Jak widać wyżej, otrzymaną różnicę w czasie, sprowadzam do milisekund, następnie zamieniam na godziny i w warunku staram się jakoś ogarnąć temat zaokroglania do całości, natomiast jak już przetestowałem jest to drogą do nikad, prosiłbym o jakieś wskazówki jak dany problem mógłbym rozwiazć, bo jak mniemam jest on niezwykle prosty ;/