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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Из 10 книг найти книгу с именем "programmmg" http://www.cyberforum.ru/cpp-beginners/thread1095534.html
Надо из 10 книг найти книгу с именем "programmmg" ,вроде по дате и автору. в поиске после return , (for) требует объявления, пробовал много вариантов, но все равно не получается) пожалуйста помогите. #include <iostream> #include <conio.h> #include <string.h> #include <stdio.h> using std::cout; using std::cin;
C++ Переделать структуру в класс Здравствуйте, помогите переделать структуру в класс..сам пробовал, бред получается:( #include<iostream> #include<conio.h> using namespace std; //Организация стека в виде однонаправленного списка struct element{ public: float x,y;//элементы стека element *prev;//указатель на предшествующий элемент http://www.cyberforum.ru/cpp-beginners/thread1095532.html
C++ Принятие указателя в функции
Доброго времени суток! Возникла проблема с написанием функции а точнее: Есть структура: struct FunctionList { typedef void (APIENTRY* Function1_t)(HWND hwnd); Function1_t p_Function;
C++ Где ошибка?
Компилятор ругается и очень больно #include "stdafx.h" #include<stdio.h> #include<math.h> int _tmain(int argc, _TCHAR* argv) { float E; printf("Input E>0");
C++ Вычислить значение выражения http://www.cyberforum.ru/cpp-beginners/thread1095515.html
Вычислить значение выражения. Объяснить полученные результаты. 1. Для ввода и вывода данных использовать операции >> и << и стандартные потоки cin и cout. 2. Для вычисления степени можно использовать функцию pow(x,y) из библиотечного файла math.h.
C++ Ошибка преобразования "Невозможно преобразовать 'const WidgetVector' в 'WidgetVector'" Выбивает ошибку, раньше никогда с const_cast не работал не совсем представляю что от меня требуетсяconst WidgetShared& WidgetContainer::GetWidget( String id ) const { mutable WidgetVector::iterator i; // error 1 for ( i = const_cast<WidgetVector>(m_widgets).begin(); i < m_widgets.end(); i++ ) // error 2, 3 { if ( (*i)->GetId() == id ) return (*i); } return m_widgets.back();... подробнее

Показать сообщение отдельно
DiffEreD
 Аватар для DiffEreD
1424 / 761 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
13.02.2014, 19:47     Вычесть 3 часа из даты, заданной в формате string
Ну, как то так (если 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;
}
 
Текущее время: 21:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru