COleDateTime как независимая от настроек строка
Я должен хранить COleDateTime
в CString
и разобрать его обратно COleDateTime
потом. Всякий раз, когда я использую COleDateTime::Format()
без каких-либо параметров или с любым LCID
-Параметр Я получаю строку, которая зависит от текущих Windows-региональных настроек.
Проблема в том, что я не знаю, изменяет ли пользователь эти параметры между хранением и повторным анализом, и если этот случайный повторный анализ завершится неудачно.
Поэтому, чтобы избежать этого, я не использую и LCID
но явная строка форматирования при сохранении моего COleDateTime:
COleDateTime mytime = getit();
CString sStoreVal = mytime.Format(_T("%Y-%m-%d %H:%M:%S"));
COleDateTime myTimeParsedBack;
myTimeParsedBack.ParseDateTime(sStoreVal);
ASSERT(myTimeParsedBack == mytime); //This is what i need: both objects have to be equal
Это похоже на работу, но так как COleDateTime
У меня нет никакого параметра-формата. Я не уверен, что он действительно работает или мне просто случайно повезло. Как ParseDateTime
знать, "2017-02-01" 2 января или 1 февраля? Что мне нужно, чтобы получить то же самое COleDateTime
назад, даже когда пользователь изменяет Региональные настройки или настройки формата между сохранением и повторным анализом.
Спасибо за вашу помощь