Дата от повышения строки :: григорианский

Привет у меня есть две строки:

entertime "2014-03-06T09:35:36Z"exittime "2014-03-06T09:38:36Z"

Я хочу иметь возможность вернуть разницу, которая в этом случае должна возвращать 3 минуты.

Мой метод выглядит так:

 boost::gregorian::date returnTime(std::string entertime, std::string exittime){
boost::gregorian::date denter = boost::gregorian::from_string(entertime);
boost::gregorian::date dexit = boost::gregorian::from_string(entertime);
boost::gregorian::date dresult = dexit-denter;

Есть ли способ получить эту разницу во времени?

Заранее спасибо!

0

Решение

К сожалению, для вашей конкретной временной метки нет прямого конвертера. Если вы можете удалить все разделители и сформировать строку, соответствующую спецификации ISO, то вы можете сделать следующее:

  auto ts1 = boost::posix_time::from_iso_string("20140306T093536Z");
auto ts2 = boost::posix_time::from_iso_string("20140306T093836Z");

std::cout << (ts2 - ts1) << std::endl;

Это должно вывести 00:03:00 как вы ожидаете. ПРИМЕЧАНИЕ Типы здесь (ts1 & ts2 являются boost::posix_time::ptime и дельта является boost::posix_time::time_duration)

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]