Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pav1uxa
1807 / 1650 / 630
Регистрация: 23.01.2014
Сообщений: 5,960
Завершенные тесты: 1
#1

Вычесть 3 часа из даты, заданной в формате string - C++

13.02.2014, 00:34. Просмотров 352. Ответов 1
Метки нет (Все метки)

Есть, например
C++
1
2
string mydate = "01.01.13";
string mytime = "02:14:26";
Как вычесть из этой даты 3 часа, с учетом переноса дня\месяца\года, с учетом количества дней в месяце\годе и записать результат назад в формате string?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2014, 00:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычесть 3 часа из даты, заданной в формате string (C++):

Как из даты вычесть дату? - C++
Продолжаю рисовать Вселенную, тема http://www.cyberforum.ru/cpp-beginners/thread258054.html (хотя это, впрочем, неважно). Нужно, вычислить,...

Вывести в формате даты K тый четверг в N-ом году - C++
Определите в N ом годе K тое четверг. Входные данные: Два целых числа, N и K (1 ≤ N ≤ 9999), (1≤K≤ 50) Выходные данные: ...

Заданы даты в формате дд/мм/гггг. Отсортировать их по возрастанию. - C++
Заданы даты в формате дд/мм/гггг. Отсортировать их по возрастанию. Количество дат отдельно не задается. примеры 1) 10/12/2005 ...

Дан строковый файл, содержащий даты в формате - C++
Дан строковый файл, содержащий даты в формате, описанном в зада- нии File67. Создать новый строковый файл, в котором даты из исходного ...

Написать программу, которая вводит две даты в формате «дд.мм.гг» - C++
Написать программу, которая вводит две даты в формате «дд.мм.гг» и выводит старшую дату.

Перевод массива char в std::string в определенном формате - C++
Имеится char a="145"; нужно его превратить в std::string , но чтоб string b=""; тоесть чтоб скобки добавились. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
13.02.2014, 19:47 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну, как то так (если boost не страшен):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <string>
#include <vector>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/algorithm/string.hpp>
 
//самописный костыль
std::string to_non_delimited_iso_form(const std::string& str)
{
   std::vector<std::string> temp;
   boost::algorithm::split(temp, str, boost::algorithm::is_any_of(".: "));
   assert(temp.size() == 6);
   return "20" + temp[2] + temp[0] + temp[1] + "T" + temp[3]+ temp[4]+ temp[5];
}
 
int main()
{
   using namespace boost::posix_time;
 
   std::string mydate = "01.01.13";
   std::string mytime = "02:14:26";
 
   ptime pt = from_iso_string(to_non_delimited_iso_form(mydate + " " + mytime));
   std::cout << "Date:           -> " << pt << "\n";
   pt -= hours(3);
   std::cout << "Date - 3 hours: -> " << pt << "\n";
 
   return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2014, 19:47
Привет! Вот еще темы с ответами:

Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, ... , 24 часа ? - C++
Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, ... , 24 часа ? (HELP)

Создать класс Date, который может выводить даты в формате DD YYYY и MM/DD/YY - C++
помогите создать класс Date, который может выводить даты в формате DD YYYY и MM/DD/YY. Создайте конструктор Date, который читает...

Проверить корректность заданной даты - C++
задана дата в пределах годах (число - от 1 до 31, месяц -от 1 до 12). Проверить корректность введенных данных и в случае ошибки вывести...

Как вычесть два часа из текущего времени - PHP
Получаю текущее время $time=date('Y-m-d H:i:s'); А как вычесть из текущего времени 2 часа и сравнить получившееся время с другим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru