我有一个wxString,它有一个日期作为它的值。日期格式根据区域设置或区域设置进行存储。将wxString转换为time_t
例如, wxString dateStr =“2013年9月10日”[日/月/年意大利格式为区域语言环境设置]。
当我使用wxDateTime :: ParseDate(dateStr)解析日期字符串并尝试使用wxDateTime :: GetTicks()函数在time_t中将其转换。但是,如果日期小于或等于12,例如3/10/2013或12/11/2013,则它可以交换日期和月份的值。我得到的月份分别为3日和12日,日为10日和11日。但如果日期大于12即2013年10月14日或2013年10月28日,它就可以正常工作。
我想上面的日期字符串转换为根据区域设置time_t的。我使用windows以及linux开发环境。
请用示例或代码片段帮我解决这个问题。
也许它与您的系统的区域设置有关?如果它们被设置为'en_US',那么日期格式将以他们愚蠢的日期格式被解释。 – dreamlax
ISO 8601 FTW http://xkcd.com/1179/ –