无论格式如何,都能正确阅读日期
本文关键字:日期 格式 | 更新日期: 2023-09-27 18:04:51
在c# 4.0或任何框架版本中,是否有一种方法可以正确读取日期时间,而不考虑日期格式(例如en-AU和en-US) ?
下面是两种不同的日期格式(上一行是澳大利亚格式,下一行是美国格式):
Timestamp,Windows User,Computer,Product,Version,Id,User,Action
5/04/2011 9:14:16 AM,terryg,KETTSAM51,powerfulSoftware,3.0,0,Garry Terry,Lock
5/1/2011 12:38:22 PM,weanern,KETTSAM51,powerfulSoftware,3.0,1,Admin,Lock
我想要的是能够读取日期,并将它们处理为澳大利亚格式的日期。
string australiaCultureString = "en-AU";
CultureInfo australiaCulture = new CultureInfo(australiaCultureString);
阅读澳大利亚文化:
DateTime time = DateTime.Parse(inputString, australiaCulture);
To表示调用ToString()时的澳大利亚日期时间
string timeString = time.ToString(australiaCulture);
我不知道你怎么做,例如,这应该如何解析:
08/01/2010
这在美国和AU格式中都是有效的日期,所以除非您给解析器一个额外的提示,否则总是会有歧义。
不,在解析日期字符串时必须知道区域性。
例如, DateTime.Parse(dateString, new CultureInfo("en-US", false));
将为您解析美国日期,但不能解析澳大利亚日期(当然,除非两种文化碰巧使用相同的日期格式)。