@Riki-tiki-tavi

Как конвертировать строку представляющую дату-время в число?

Есть строка которая представляет собой дату-время в текущей локали. Как из этой даты я могу получить ее числовое значение.

Например в Windows есть тип _variant_t, c помощью которого можно решить эту задачу так:
std::wstring wstr("01/01/2015");
_variant_t src(str.c_str());
_variant_t dest;
::VariantChangeType( &dest, &src, 0, VT_DATE )

И в этом случае не нужно указывать какой формат строки я подаю. Как это можно сделать кросс-платформенным способом? В идеале с помощью стандартной библиотеки. Необязательно в VT_DATE, подходит любой числовой тип.

Можно еще получить формат даты-времени у системы, но как это сделать? Есть функция localeconv() она позволяет получить специфичные для локали вещи: десятичный разделитель, денежный знак и так далее, но вот формата времени там нет.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 2
longclaps
@longclaps
Ответ написан
Комментировать
Nipheris
@Nipheris Куратор тега C++
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы