这里不是问题,只是好奇。我想知道当使用其他语言的 dateTime 实现的类似操作只有 3 或 4 行时,我必须编写多少代码才能实现这一点。
所以我得到的是一个字符串形式的时间戳,即:06-Feb-2013 00:01:01
通过使用 boost lib,我将创建输入和输出方面,创建一个字符串流并将 io 方面注入流中。然后,我会将时间戳字符串读入字符串流,然后再将其移出到 posix 时间对象,以在将其移回流中之前添加 1 秒,这样我就可以将其用作字符串。从某种意义上说,我在这里所做的只是将时间戳06-Feb-2013 00:01:01
变成06-Feb-2013 00:01:02
.
一个例子是:
using namespace boost::posix_time;
ptime timeStamp;
time_facet* outFacet = new time_facet("%d-%b-%Y %H:%M:%S");
time_input_facet* inFacet = new time_input_facet("%d-%b-%Y %H:%M:%S");
std::stringstream ss;
ss.imbue(std::locale(std::locale::classic(), outFacet));
ss.imbue(std::locale(ss.getloc(), inFacet));
ss.str(06-Feb-2013 00:01:01);
ss >> timeStamp;
timeStamp+=seconds(1);
ss.str("");
ss << timeStamp;
代码有效,我没有问题。我只是想知道我是否在考虑到 python/ruby/js 等时以迂回的方式做到了这一点,我所要做的就是:
dt = new DateTime("06-Feb-2013 00:01:01", aformat);
dt.addSecond() //or dt += another DateTime object
dt.strformat(aformat) //or trace/print/puts dt
现在我很欣赏 C++ 是较低级别的,但我仍然不禁想知道。那么有什么改进或想法吗?