Как преобразовать строку в дату в C ++? - PullRequest
2 голосов
/ 02 января 2012

Как преобразовать строку в объект даты и времени в c ++, используя стандартные библиотеки?

Вот моя строка

string input_time = "071215"; //071215 represents 7th December 2015

input_time необходимо преобразовать в объект даты, чтобы я мог сравнить его с объектом даты.

bool dateExpired = (input_time < now);
//where now is current date time

if(dateExpired) printf("Expired");
else printf("Not expired");

Ответы [ 3 ]

4 голосов
/ 02 января 2012

Вы можете использовать функцию c strptime. Если вы хотите c ++ способ, вы можете заглянуть в boost библиотеки

1 голос
/ 02 января 2012

Для серьезной работы с датами и временем я бы предложил Boost.DateTime и его средства ввода-вывода .

0 голосов
/ 02 января 2012

Если вы знаете точный формат, просто извлеките поля как подстроки и пропустите их через istringstream, чтобы изменить строки на числа.

#include <strstream>

// . . .

string dayString = input_time.substring(0, 2);
istringstream iss(dayString);
int day;
iss >> day;

// . . .
...