2012-06-12 40 views
2

說我有以下幾點:需要時間並追加到日期時間?

string fromTime = "8:00am"; 
string someDate = "06/01/2012"; 

我想最終會做這樣的:

DateTime dt = Convert.ToDateTime(someDate + someTime); 

基本上我要帶一個日期,並用結果添加的時間給它的上面是

06/01/2012 8:00am

但有它存儲在一個日期時間變量。這可能嗎?

+0

棘手的部分是使它在不同的日期/時間設置不同的文化工作。例如「06/01/2012」意味着1月6日在美國,但意味着6月1日在英國。在你的方法中看到問題? –

+0

不要抱怨什麼,只是好奇,爲什麼你將它們存儲在字符串中? –

+0

@ShadowWizard這個應用程序將只在美國工作。 – oJM86o

回答

6

解析時,您可以使用the DateTime.TryParseExact方法,它允許你指定的格式:

class Program 
{ 
    static void Main() 
    { 
     string s = "06/01/2012 8:00am"; 
     string format = "dd/MM/yyyy h:mmtt"; 
     DateTime date; 
     if (DateTime.TryParseExact(s, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) 
     { 
      Console.WriteLine(date); 
     } 
    } 
} 
+0

你能舉一個如何使用它的例子嗎? – oJM86o

+0

當然,請參閱我的更新。 –

1

試試這個:

DateTime dt = DateTime.ParseExact(someDate + " " + someTime, "MM/dd/yyyy h:mmtt", CultureInfo.InvariantCulture);