2012-01-17 341 views
1

在我的系統的一部分中,我遇到了這種情況:我將收到一個表示日期的字符串和另一個表示時間的字符串。 我需要讓這些信息在DateTime中。因此,一個使它: 將字符串轉換爲日期

string date = "17012012"; 
string hour = "103445"; 

date = string.Format("{0}/{1}/{2}", date.Substring(0, 2), 
      date.Substring(2, 2), date.Substring(4, 4)); 
hour = string.Format("{0}:{1}:{2}", hour.Substring(0, 2), 
      hour.Substring(2, 2), hour.Substring(4, 2)); 

DateTime example = new DateTime(); 
example = DateTime.Parse(string.Format("{0} {1}", date, hour)); 

好,但它是一個很好的模式?有沒有「更美麗」的方式來做到這一點?

回答

7

你可以使用DateTime.ParseExact代替

例如

DateTime.ParseExact(date + hour, "ddMMyyyyHHmmss", CultureInfo.InvariantCulture); 
+0

是的,就是這樣!很好! 謝謝! – 2012-01-17 12:53:53

1

這種或那種方式你的程序必須解析這種格式。 我會這樣做:

string date = "17012012"; 
string time = "103445"; 

int year = Convert.ToInt32(date.Substring(4, 4)); 
int month = Convert.ToInt32(date.Substring(2, 2)); 
int day = Convert.ToInt32(date.Substring(0, 2)); 
int hour = Convert.ToInt32(time.Substring(0, 2)); 
int minute = Convert.ToInt32(time.Substring(2, 2)); 
int second = Convert.ToInt32(time.Substring(4, 2)); 

DateTime example = new DateTime(year, month, day, hour, minute, second); 
+0

是的,也。但我使用DateTime.ParseExact,這是一個很好的方法。謝謝! – 2012-01-17 17:33:46