提升日期时间转换并添加秒数

时间:2013-11-19 14:02:04

标签: c++ boost

我需要加载一个格式为16/11/2012 11:00:00的字符串,即%d /%m /%Y%H:%M,然后重复添加900秒。下面的代码就是一个例子,你能帮我搞定吗?

    #include "stdafx.h"
#include <fstream>
#include <iomanip>
#include <iostream>
#include <string>
#include <sstream>

#include "boost/date_time/local_time/local_date_time.hpp"

int _tmain(int argc, _TCHAR* argv[])
{
  unsigned int seconds=900;
  using namespace boost::local_time;
  std::stringstream ss;

  // Set up the input datetime format.
  local_time_input_facet *input_facet = new local_time_input_facet("%d/%m/%Y %H:%M");
  ss.imbue(std::locale(ss.getloc(), input_facet));

  local_date_time date(not_a_date_time);
  ss.str("16/11/2012 11:00:00");
  ss >>date;

  local_date_time now=date+seconds;
  std::cout << now << std::endl;
  return 0;
}

任何帮助将不胜感激, 詹姆斯

1 个答案:

答案 0 :(得分:4)

我现在手上没有提升,请尝试类似:

date + boost::posix_time::seconds(900)