- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在读取从字符串转换为 ptime 时的时间分数时遇到问题。以下是相关源代码:
#include <iostream>
#include <string>
#include <boost/date_time.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/gregorian/gregorian.hpp>
#include <boost/date_time/posix_time/conversion.hpp>
int main( int, char * )
{
using namespace std;
using namespace boost;
using namespace boost::posix_time;
using namespace boost::local_time;
using namespace boost::gregorian;
time_facet* output_facet = new time_facet();
time_input_facet* input_facet = new time_input_facet();
stringstream sstream;
sstream.imbue(locale(locale::classic(), output_facet));
sstream.imbue(locale(sstream.getloc() , input_facet ));
string format("%d/%m/%Y %H:%M:%S.%f"); //example works fine without %f!!!
//format = "%H"; //-> works
//format = "%f"; //-> error
output_facet->format( format.c_str() );
input_facet->format( format.c_str() );
ptime dt = microsec_clock().local_time();
sstream.str("");
sstream << dt;
cout << sstream.str() << endl;
string time_string = sstream.str();
ptime tgtDt( boost::date_time::not_a_date_time );
sstream.str( time_string.c_str() );
sstream >> tgtDt;
cout << tgtDt << endl;
}
如果格式字符串中没有 %f,程序可以正常运行。但是 %f tgtDt 是“不是日期时间”。我使用 boost 1.44,文档说 %f 应该有效,因为每个输入不兼容格式标志都标有“!”在文档中。
有什么想法如何从字符串中取出 frac 部分吗?
最佳答案
好的,弄清楚了(知道它与点有关!)..输入方面和输出方面需要不同的格式。请尝试以下操作:
string inputformat("%d/%m/%Y %H:%M:%S%f"); //no dot before %f
string format("%d/%m/%Y %H:%M:%S.%f"); //dot before %f
output_facet->format( format.c_str() );
input_facet->format( inputformat.c_str() );
关于c++ - 在将字符串转换为 ptime 时使用 %f 标志 boost ptime input_facet 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6534248/
我在读取从字符串转换为 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
我是一名优秀的程序员,十分优秀!