1

年、月、日、時、分のみを保存してboost::posix_time::ptime、既存の から新しい を作成したいと思います。ptime解決策はありますか?

EDIT:Rudolfs Bundulisのおかげで、うまくいく解決策を見つけました:

#include <iostream> 
#include <boost/date_time/posix_time/posix_time.hpp> 

using namespace boost::posix_time; 

int main()
{ 
    const ptime time(microsec_clock::local_time());
    const time_duration time_of_day = time.time_of_day(); 
    const ptime time2(time - microseconds(time_of_day.total_microseconds()) + hours(time_of_day.hours()) + minutes(time_of_day.minutes()));

    std::cout << "time 1: " << time  << std::endl;
    std::cout << "time 2: " << time2 << std::endl;
    return 0; 
}
4

2 に答える 2

2

私も後押しするのが初めてなので、100%確実ではありませんが、これでできると思います:

boost::posix_time::ptime time(boost::posix_time::second_clock::local_time());
boost::posix_time::time_duration time_of_day = time.time_of_day();
time_of_day -= boost::posix_time::seconds(time_of_day.seconds());
boost::posix_time::ptime time2(time.date(), time_of_day);
于 2013-10-03T12:02:47.837 に答える