如何将文本转换为日期?
我有这个文本格式:如何将文本转换为日期?
8/27/2009 8:23:06 AM
Thu Aug 27 12:42:22 2009
08/12/2009 20:22
我需要得到这个:DD/MM/YYYY
如何做到这一点在C#WinForm的代码?
感谢的提前
您可以用DateTime.Parse(...)解析它和树林后则DateTime.ToString打印()。
var date1 = DateTime.Parse("8/27/2009 8:23:06 AM", CultureInfo.GetCultureInfo("en-US"));
var date2 = DateTime.Parse("Thu Aug 27 2009 12:42:22", CultureInfo.GetCultureInfo("en-US")); //Edited the date a little
var date3 = DateTime.Parse("08/12/2009 20:22", CultureInfo.GetCultureInfo("en-US"));
Console.WriteLine(date1.ToString("dd/MM/yyyy", CultureInfo.GetCultureInfo("en-US")));
Console.WriteLine(date2.ToString("dd/MM/yyyy", CultureInfo.GetCultureInfo("en-US")));
Console.WriteLine(date3.ToString("dd/MM/yyyy", CultureInfo.GetCultureInfo("en-US")));
其中一些对您而言可能是多余的。我住在DK,拥有DK文化,所以如果你有美国电脑,我不能解析相同的字符串。所以我已经明确了文化。如果您有美国文化的标准或要调整对其他文化的应用程序,那么你可以使用:
//for parsing
var date1 = DateTime.Parse("A date");
//for printing
date1.ToShortDateString();
至于弗莱彻,你可以使用DateTime.TryParse代替,如果你分析,你期望在缺陷用户输入或数据提供的日期字符串。
DateTime.Parse( “文本”)
对于那些特定的格式,我会使用DateTime.TryParse函数。我确定只有你提供的最后一个字符串会被解析操作接受,TryParse函数将返回一个布尔值,表示操作成功。一旦获得了生成的DateTime对象,就可以使用ToShortDateString函数以ShortDate格式输出一个字符串,或者您可以根据需要指定不同的格式。
DateTime date = new DateTime();
bool parseSucceeded = DateTime.TryParse("08/12/2009 20:22", out date);
if(parseSucceeded)
Console.WriteLine(date.ToShortDateString());
+1 TryParse的好处:)我已经在我的答案中借用了。但实际上第一个成功,第二个如果你稍稍移动“2009”。 – 2010-07-14 18:58:12
是的:)请评论,如果你需要的信息或你可以使用的答案。 – 2010-07-14 19:43:21