gpt4 book ai didi

C++ boost 库 local_time_period

转载 作者:行者123 更新时间:2023-11-28 04:56:00 25 4
gpt4 key购买 nike

使用 #include "boost/date_time/posix_time/posix_time.hpp"可以获取当前本地时间。我制作了获取本地时间的函数:

boost::posix_time::ptime getTime(){
return boost::posix_time::second_clock::local_time();
}

此函数返回本地时间 boost::posix_time::ptime类型。返回示例:Date2017-Nov-05 07:58:36

我想得到一些开始日期和结束日期。然后使用 boost::posix_time::time_period我想计算开始日期和结束日期的时间。

int main(){
boost::posix_time::ptime startDate = getTime();
boost::posix_time::ptime endDate;
string duration;
cout << "start Date" << startDate << endl;

for(int i = 0; i <= 900000000; i++) {
if(i == 900000000){
endDate = getTime();
}
}
cout << "End Date " << endDate << endl;
duration = to_simple_string(boost::posix_time::time_period(startDate,endDate).length());
cout << "Duration: " << duration << endl;
}

endDatefor循环,因为这是我在 startDate 后几秒钟获得它的最简单方法.

cout << "string Duration " << duration << endl;输出值,例如:Duration: 00:00:04

如何制作boost::posix_time::time_period只返回秒数,例如,如果我的 startDateDate2017-Nov-05 10:00:00endDateDate2017-Nov-05 10:00:10该函数应该只返回 10 , 只有数字。

最佳答案

如果减去两个 ptime 对象,您将得到一个 time_duration 对象。这个对象有一个 total_seconds() 方法,它会给你总秒数。

例如:

// startTime and endTime are ptime instances
time_duration d = endTime - startTime;
long secs = d.total_seconds();

参见:time_duration accessors .

关于C++ boost 库 local_time_period,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47119140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com