如何使用格式 dd/mm/yyyy 格式化日期时间对象?

How to format date time object with format dd/mm/yyyy?(如何使用格式 dd/mm/yyyy 格式化日期时间对象?)
本文介绍了如何使用格式 dd/mm/yyyy 格式化日期时间对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 Boost 库在格式 dd/mm/yyyy H?

How could I print the current date, using Boost libraries, in the format dd/mm/yyyy H?

我有什么:

boost::posix_time::ptime now = boost::posix_time::second_clock::local_time();
cout << boost::posix_time::to_simple_string(now).c_str();

2009-Dec-14 23:31:40

但我想要:

2009 年 12 月 14 日 23:31:40

14-Dec-2009 23:31:40

推荐答案

如果您使用的是 Boost.Date_Time,这是使用 IO facet 完成的.

If you're using Boost.Date_Time, this is done using IO facets.

您需要包含 boost/date_time/posix_time/posix_time_io.hpp 以获得正确的 facet 类型定义(wtime_facettime_facet 等.) 用于 boost::posix_time::ptime.完成后,代码非常简单.您在要输出到的 ostream 上调用 imbue,然后输出您的 ptime:

You need to include boost/date_time/posix_time/posix_time_io.hpp to get the correct facet typedefs (wtime_facet, time_facet, etc.) for boost::posix_time::ptime. Once this is done, the code is pretty simple. You call imbue on the ostream you want to output to, then just output your ptime:

#include <iostream>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/posix_time/posix_time_io.hpp>

using namespace boost::posix_time;
using namespace std;

int main(int argc, char **argv) {
  time_facet *facet = new time_facet("%d-%b-%Y %H:%M:%S");
  cout.imbue(locale(cout.getloc(), facet));
  cout << second_clock::local_time() << endl;
}

输出:

14-Dec-2009 16:13:14

另见格式列表标记在boost文档中,以防你想输出一些更有趣的东西.

See also the list of format flags in the boost docs, in case you want to output something fancier.

这篇关于如何使用格式 dd/mm/yyyy 格式化日期时间对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Rising edge interrupt triggering multiple times on STM32 Nucleo(在STM32 Nucleo上多次触发上升沿中断)
How to use va_list correctly in a sequence of wrapper functions calls?(如何在一系列包装函数调用中正确使用 va_list?)
OpenGL Perspective Projection Clipping Polygon with Vertex Outside Frustum = Wrong texture mapping?(OpenGL透视投影裁剪多边形,顶点在视锥外=错误的纹理映射?)
How does one properly deserialize a byte array back into an object in C++?(如何正确地将字节数组反序列化回 C++ 中的对象?)
What free tiniest flash file system could you advice for embedded system?(您可以为嵌入式系统推荐什么免费的最小闪存文件系统?)
Volatile member variables vs. volatile object?(易失性成员变量与易失性对象?)