我如何创建boost::posix_time::ptime对象从使用QDateTime ISODate格式创建的字符串
How do I create boost::posix_time::ptime objects from strings created using QDateTime ISODate format?
我正在使用我的新应用程序迁移我的旧应用程序数据库。旧应用程序使用QT,新应用程序没有。
我想转换已存储在数据库中的日期boost::posix_time::ptime对象。通过将QDateTime对象转换为具有ISODate格式的字符串,将日期存储在数据库中。
因此,源字符串具有以下格式:
YYYY-MM-DDTHH:MM:SSSZ
是否有一个简单的例程可以从QDateTime字符串生成ptimes ?我尝试过posix_time::from_iso_string,但是由于日期中存在'-'分隔符(并且可能':'分隔符也是一个问题),因此失败。
没有时区(Z格式标志),这很容易。请看下面的代码:
#include <iostream>
#include <boost/date_time.hpp>
int main(int argc, char *argv[]) {
const boost::posix_time::ptime time_with_ms = boost::date_time::parse_delimited_time<boost::posix_time::ptime>("2013-05-31T09:00:00.123", 'T');
const boost::posix_time::ptime time_without_ms = boost::date_time::parse_delimited_time<boost::posix_time::ptime>("2013-05-31T09:00:00", 'T');
std::cout << boost::posix_time::to_simple_string(time_with_ms) << std::endl;
std::cout << boost::posix_time::to_simple_string(time_without_ms) << std::endl;
return 0;
}
相关文章:
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 从 UTF-8 字节数组创建字符串?
- 如何使用用户输入创建字符串队列?
- 通过拆分字符数组来创建字符串
- 创建字符串数组的有效方法
- 创建字符串流副本
- 有没有一种方法可以在不复制数据的情况下从string_view创建字符串流
- 如何在 cocos2d-x 3.17v 中创建字符串数组
- 如何在不迭代的情况下从string_view向量创建字符串向量?
- 用于创建字符串的可变参数模板函数
- 如何在 VBA/Excel 中创建字符串数组并将其发送到C++ DLL,以便可以在 DLL 中循环访问它
- C++宏创建字符串数组
- 创建字符串数据串起
- 从几个变量中创建字符串
- 谷歌测试:无法从字符数组创建字符串
- 是否可以创建字符串和原子<int>键值对的unordered_map?
- RegSetValueEx 不会创建字符串值
- 如何创建字符串表
- 为什么 new 能够创建字符串数组
- 创建字符串 c++ 的常量集集合