- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试查找调用函数时的平均 UTC 时间。所以我这样做:
boost::posix_time::ptime current_time_before(boost::posix_time::microsec_clock::universal_time());
DoStuff();
boost::posix_time::ptime current_time_after(boost::posix_time::microsec_clock::universal_time());
如何计算这两次之间的平均值?我试过了:
double time_avg = (current_time_before+current_time_after)*0.5;
但是我在 linux 系统上遇到错误,似乎是“+”有问题,但“-”没有问题。
感谢您的帮助。
最佳答案
就……自然地写吧?
ptime midpoint(ptime const& a, ptime const& b) {
return a + (b-a)/2; // TODO check for special case `b==a`
}
现场演示:
#include <boost/date_time/posix_time/posix_time.hpp>
using boost::posix_time::ptime;
ptime midpoint(ptime const& a, ptime const& b) {
return a + (b-a)/2;
}
int main() {
ptime a = boost::posix_time::second_clock::local_time();
ptime b = a + boost::posix_time::hours(3);
std::cout << "Mid of " << a << " and " << b << " is " << midpoint(a,b) << "\n";
std::swap(a,b);
std::cout << "Mid of " << a << " and " << b << " is " << midpoint(a,b) << "\n";
}
打印
Mid of 2016-Sep-15 11:17:10 and 2016-Sep-15 14:17:10 is 2016-Sep-15 12:47:10
Mid of 2016-Sep-15 14:17:10 and 2016-Sep-15 11:17:10 is 2016-Sep-15 12:47:10
关于c++ - 多个 ptime 的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39472689/
我在读取从字符串转换为 ptime 时的时间分数时遇到问题。以下是相关源代码: #include #include #include #include #include #include
不确定我是否遗漏了什么,但我怎么能通过 boost::posix_time::ptime反对 boost::this_thread::sleep_until() ?更具体地说:我如何从 boost::
我试图找到一种线程安全的方法来获取本地时间。从 boost 示例中,我得到了这个: #include "boost/date_time/posix_time/posix_time.hpp" #in
我正在尝试在全局范围内宣布 boost ptime。但是我遇到了以下问题: 在main函数之前声明: static boost::posix_time::ptime start_time; 然后在主函
我必须将一个 boost::posix_time::ptime 变量序列化为一个字符串。我想要的格式是这样的:2014-05-12T16:14:01.809+0200。我无法更改它,因为它是从 Web
我正在尝试查找调用函数时的平均 UTC 时间。所以我这样做: boost::posix_time::ptime current_time_before(boost::posix_time::
我不想在 for 循环中逐日迭代。我创建了一个 Boost ptime 代表我本地时间的一天,例如“2012-01-01 00:00:00”。 (德国) 目前看起来像这样 (ptime start_t
我有一组函数,允许我根据特定格式将 ptime 转换为字符串并将字符串转换为 ptime。 这很好用,直到我需要使用毫秒修饰符(%f)。 转换为 String 工作正常: std::string st
boost::posix_time::ptime 是固定大小的吗? 我想用它来替换一些自定义的时间类型垃圾,但它需要进入的类是预分配内存池的一部分,并且必须是固定大小。 如果是这样,我在哪里可以找到保
我正在尝试将 posix_time::ptime 实例限制为 5 分钟的间隔。 例如: 1. 10:31:00 -> 10:30:00 2. 11:59:00 -> 11:55:00 我的理解是,
我有一个返回格式化日期/时间字符串的函数。实际日期和时间是恒定的;这是我所追求的结果字符串的格式。 std::string example_datetime(const std::string &bo
我正在将现有程序转换为 C++,这里需要操作 Sybase 时间戳。这些时间戳包含日期和时间信息,据我所知最好由 boost::posix_time::ptime 变量处理。在代码的一些地方,我需要从
我有一个像“2012-03-28T08:00:00”这样的格式化字符串。我想获取年、月(字符串格式)、日期、小时、分钟、秒和日(字符串格式)。谁能建议我在 boost 中使用最简单的方法。 谢谢 最佳
我有两个 boost ptime 的 time_from 和 time_to 我想找到这两个时间之间的每个日期,我最初做了 const auto date_duration(time_to.date(
我尝试使用 C++ Boost date_time 库将格式为“2012 年 12 月 12 日 16:43”的字符串加载到日期输入面为“%H:%M %B %d, %”的字符串流中是”。接下来我想从
我有以下时间: 2010-01-25 03:13:34.384 - GMT Time Zone 2010-01-25 11:13:34.384 - My Local 我希望转换为以毫秒为单位的时间戳。
我的类中有一个成员变量: class Foo { // ... private: boost::posix_time::ptime t; } 我想在构造函数中将它初始化为一个众所周知的值,这样我就
我在将 ptime 对象从 boost 转换为要传递给函数的字符串时遇到问题。关于将 boost 时间对象输出到字符串(主要是 cout),我发现了多个类似的其他线程,但我在它们上发现的都没有工作。
给定的 boost::posix_time::ptime aTime( time_from_string("2012-01-01 11:15:00")); 我的函数将返回 2012-01-01 12:
我正在使用 SWIG 扭曲一个非常简单的 C++ 类。boost ptime 用于该 C++ 类中。 当我尝试执行命令时 swig -c++ -python example.i 有一个错误: exam
我是一名优秀的程序员,十分优秀!