Tenho um arquivo com datas no formato 20110104-07:48:00.488. Tô tentando criar objetos ptime da boost para fazer algumas operações como verificar se uma data é maior que a outra etc. Queria fazer isso sem ter de mexer nas datas que tenho no arquivo, porque são milhões de registros. Me parece que o que preciso é algo como o SimpleDateFormat do java…mas não tô achando algo equivalente na boost…cheguei a tentar usar os tais de time_input_facet mas não consegui o que queria ainda…Alguém pode dar uma dica?
No boost você tem o Gregorian, onde há as funções de checagem de data:
greg_year year(), greg_month month() const, greg_day day() cons, etc.
Você pode usar o datetime do boost e até o date normalmente.
Veja um exemplo de comparação:
date aniversario(from_simple_string("2012-03-22"));
date hoje = day_clock::local_day();
days dias = hoje - aniversario;
days sete_dias(7);
if (sete_dias < dias)
std::cout << "Faltam poucos dias para o aniversário" << std::endl;
else
std::cout << "Faltam muitos dias para o aniversário" << std::endl;