问题标签 [boost-date-time]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3672 浏览

c++ - 提升错误:对“详细信息”的引用不明确

我正在用gcc-4.4.7 --std=c++0xboost-1.53​​ 中的几个库编译一个大型程序。编译器抱怨 boost 库中的一堆错误(如下),但不是我的代码。这是boost库中的错误吗?我将如何找出问题所在?任何建议表示赞赏!

0 投票
1 回答
836 浏览

c++ - 将 Boost Ptime 转换为 EST UTC-5:00

我正在使用以下代码获取当前日期时间(山地时间)

现在我使用以下方法进行转换

//这个函数假设给我纽约的时间(东部标准时间),我得到

这个时间是错误的任何建议我哪里出错了?

0 投票
1 回答
790 浏览

c++ - Boost 错误:未找到 boost_date_time-vc80-mt-1_41.dll

我需要运行使用VS2008的boost库的软件示例,但出现以下错误:无法启动此应用程序,因为找不到boost_date_time-vc80-mt-1_41.dll

我已经设置了PATH变量:

究竟是什么导致了这个错误?

谢谢。

0 投票
2 回答
1979 浏览

c++ - 如何从 C++ 中的字符串解析日期/时间

如何将带有模板的字符串"%d.%m.%Y %H:%M:%S"(例如28.05.2013 17:42:00)转换为boost::posix_time::ptime或类似的东西?

以下是我的非工作代码。

0 投票
2 回答
1499 浏览

c++ - 如何强制 boost::posix_time 识别时区?

我正在从 PostgreSQL 数据库中读取时间戳字段。时间戳列定义为:

从数据库读取时,我将其转换为像这样的 boost 时间戳:

问题似乎是boost::posix_time::time_from_string()忽略了时区。

例如:

当我对生成的 ptime 对象进行算术运算时,时间正好相差 7 小时。为了不丢失时区信息,我应该做些什么更好的事情?

0 投票
1 回答
283 浏览

boost-python - 使用 Boost.Python 向 Python 公开 boost::gregorian::date

我想使用 Boost.Python 使 Python 可以使用 boost::gregorian::date。__str__但是,当 Boost 日期类中没有一个函数时,我该如何创建一个像样的函数呢?我想这样写:

0 投票
2 回答
6373 浏览

c++ - 来自 std::string 的 boost::gregorian::date

我试图以这种方式将 std::string 转换为 boost::gregorian::date :

但不幸的是,我只收到了“not-a-date-time”。我做错了什么?有没有更简单的方法可以将如此流行的字符串转换为 boost::gregorian:date?

0 投票
1 回答
729 浏览

c++ - 提升日期/时间 microsec_clock 未正确编译

我正在尝试使用 C++ Boost 库 v1.41 的日期/时间工具。(注意:这是 Linux,不是 Windows;g++ v4.4.7)

代码:

错误:

现在,在 boost/date_time/posix_time/posix_time_types.hpp 中有这个:

我的结论是 BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK 未定义,导致 typedef 永远不会发生,导致对“microsec_clock”的引用看起来需要模板参数。

据我所知,我严格遵守Boost date_time 文档。有任何想法吗?

0 投票
1 回答
547 浏览

c++ - 时间间隔上的 C++ 算术

我已经有为此工作的(丑陋的)代码,但无论如何我都会问:

我在工作日有时间间隔 [09:15, 10:00), [21:10, 21:45)。给定时间t和秒数s,如果t在间隔内,我必须计算t - s将落入的日期和时间。

  • 示例:t = 20130913 21:15,s = 600,t - s 落入 20130913 09:55。
  • 示例:t = 20130923 09:16,s = 120,t - s 落入 20130920 21:44。

有没有办法在 C++ 中干净地做到这一点(boost::icl?boost::date_time?)

我试过boost::icl,它当然可以将时间范围保存在an中interval_set<Time>并找到某个区间Time,但是如果t - s时间点不属于区间范围,我不知道如何找到最近的区间在那个时间点之前,以及如何检测我是否必须回去一天或整个周末。

0 投票
2 回答
3090 浏览

c++ - 从 64 位整数秒计数创建 boost::posix_time::ptime 对象

我有一个 32 位 Linux 系统,在该系统中,我必须记录从 1901-01-01 00:00:00 开始的 UINT32 秒偏移量时间戳的数据。

计算时间戳对我来说没问题,因为我可以使用 64 位ticks()计数器和ticks_per_second()函数来生成自纪元以来的秒数,如下所示(我只需要二级分辨率)

这对我有用,因为我知道作为无符号整数,秒数不会超过最大 UINT32 值(无论如何也不会超过很多年)。

我遇到的问题是我的应用程序可以接收包含 UINT32 值的 modbus 消息,我必须通过ioctl调用来设置硬件和系统时钟RTC_SET_TIME。这个 UINT32 再次是自我的时代 1901-01-01 00:00:00 以来的偏移量(以秒为单位)。

我现在的问题是我无法使用 64 位整数创建对象 - 对象的一部分是私有的,我被限制在我的 32 位系统上使用它只是一个 4 字节有符号整数,不足以存储从我的时代偏移的秒数。ptimetickstime_durationlong

我无法控制 epoch 的价值,所以我真的很难boost::posix_time::ptime从我拥有的数据中创建我需要的对象。我可能可以通过计算特定时间间隔的硬秒计数并使用额外的时期来建立一个桥梁来获得一个肮脏的解决方案,但我想知道boost代码中是否有一些东西可以让我完全使用提升日期时间库。我已经阅读了我能找到的所有文档,但我看不到任何明显的方法来做到这一点。

编辑:我发现了这个相关的问题Convert int64_t to time_duration但那里接受的答案不适用于我的时代