2010-07-14 71 views
1

我有這個文本格式:如何將文本轉換爲日期?

8/27/2009 8:23:06 AM 

Thu Aug 27 12:42:22 2009 

08/12/2009 20:22 

我需要得到這個:DD/MM/YYYY

如何做到這一點在C#WinForm的代碼?

感謝的提前

+0

是的:)請評論,如果你需要的信息或你可以使用的答案。 – 2010-07-14 19:43:21

回答

5

您可以用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代替,如果你分析,你期望在缺陷用戶輸入或數據提供的日期字符串。

1

DateTime.Parse( 「文本」)

2

對於那些特定的格式,我會使用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()); 
+0

+1 TryParse的好處:)我已經在我的答案中借用了。但實際上第一個成功,第二個如果你稍稍移動「2009」。 – 2010-07-14 18:58:12

相關問題