将wxString转换为time_t

convert wxString to time_t

本文关键字:time wxString 转换      更新时间:2023-10-16

我有一个wxString,它的值是日期。日期格式的存储取决于区域设置或区域设置。

例如

。wxString dateStr = "9/10/2013"[意大利的日/月/年格式为区域设置].

当我使用wxDateTime::ParseDate(dateStr)解析日期字符串并尝试使用wxDateTime::GetTicks()函数将其转换为time_t时。但是,当一天小于或等于12时,它会交换日和月的值,例如3/10/2013或12/11/2013。我得到的month分别是3和12,day分别是10和11。但如果日期大于12,即14/10/2013或28/10/2013,则可以正常工作。

我想根据地区设置将上述日期字符串转换为time_t。我使用windows和linux来开发环境。

请用示例或代码片段帮助我解决这个问题。

我建议您使用wxDateTime::ParseDateFormat代替,然后您可以指定日期字符串的确切格式。

ParseDate出现问题的原因是它首先尝试解析美国格式的日期字符串(其中格式为mm/dd/yyyy),如果失败,则尝试其他格式。