конвертировать wxString в time_t

У меня есть wxString, которая имеет дату в качестве значения. Формат даты сохраняется в зависимости от региональных настроек или региональных настроек.

Например, wxString dateStr = «9/10/2013» [формат дд / мм / гггг для Италии в качестве региональной настройки локали].

Когда я анализирую строку даты с помощью wxDateTime :: ParseDate (dateStr) и пытаюсь преобразовать ее в time_t с помощью функции wxDateTime :: GetTicks (). Но это меняет значение дня и месяца, когда день меньше или равен 12, например 3/10/2013 или 12/11/2013. Я получаю месяц как 3 и 12, а день как 10 и 11 соответственно. Но это прекрасно работает, если дата больше 12, т.е. 14/10/2013 или 28/10/2013.

Я хочу преобразовать приведенную выше строку даты в time_t в зависимости от настроек локали. Я использую Windows, а также Linux для разработки ENV.

Пожалуйста, помогите мне решить эту проблему с помощью примера или фрагмента кода.

0

Решение

Я предлагаю вам использовать wxDateTime::ParseDateFormat вместо этого вы можете указать точный формат строки даты.

Причина у вас проблемы ParseDate является то, что он сначала пытается разобрать строку даты в американском формате (где формат mm/dd/yyyy), и если это не удается, он пытается другие форматы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]