将wxString转换为time_t

时间:2013-04-01 02:10:11

标签: c++ datetime wxwidgets time-t

我有一个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进行开发环境。

请使用示例或代码段帮助我解决此问题。

1 个答案:

答案 0 :(得分:1)

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

您遇到ParseDate问题的原因是它首先尝试以美国格式解析日期字符串(格式为mm/dd/yyyy),如果失败则尝试其他格式。< / p>