日期时间解析正好在日期格式如mm/dd/yyyy时工作,但是当dateformat类似于dd/mm/yyyy时,则会出现问题.我想编写代码来解析日期使用的任何格式.
假设我的日期类似于"15/01/2012"或2012年12月12日,那么我的代码可以将其解析为有效的日期时间.那我该怎么办...我用的代码就像
IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true);
string xxx = DateTime.ParseExact("15/12/2012", "yyyyMMdd", culture).ToString();
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为dateformat是dd/mm/yyyy.所以告诉我当日期格式为dd/mm/yyyy或mm/dd/yyyy等时的最佳解决方案,但代码可以正确解析它.所以指导我应该使用什么代码.谢谢
您不能同时允许使用MM/dd/yyyy和dd/MM/yyyy格式,也不能指示使用哪种格式,或者您只是因为数据不好而烦恼.你会把"06/05/2011"解释为什么?5月6日或6月5日?
你应该要么明确指定格式,或者您应该使用什么文化的默认值是(这不应该让这两种格式) -而是从"2011/11/12"治疗"13/12/2011"不同,只是因为当天值碰巧是13是一个非常糟糕的主意,IMO.
(您的示例代码不起作用的原因是您明确表示要将其解析为yyyyMMdd,这显然不是格式"15/12/2012".我不确定为什么您会期望它能够工作.)