我有一个wxString,其日期为其值。存储日期格式取决于区域设置或区域设置。
例如。 wxString dateStr =“9/10/2013”[dd / mm / yyyy格式,意大利作为区域区域设置]。
当我使用wxDateTime :: ParseDate(dateStr)解析日期字符串并尝试使用wxDateTime :: GetTicks()函数在time_t中转换它。但是,如果日期小于或等于12,例如3/10/2013或12/11/2013,它会交换日期和月份的值。我得到的月分为3和12,而分别为10和11。但如果日期大于12,即14/10/2013或28/10/2013,它可以正常工作。
我想将上述日期字符串转换为time_t,具体取决于区域设置。我正在使用windows和linux进行开发环境。
请使用示例或代码段帮助我解决此问题。
答案 0 :(得分:1)
我建议您改用wxDateTime::ParseDateFormat
,然后指定日期字符串的确切格式。
您遇到ParseDate
问题的原因是它首先尝试以美国格式解析日期字符串(格式为mm/dd/yyyy
),如果失败则尝试其他格式。< / p>