使用DateTime.ParseExact與格式字符串,只有指定的日期部分。
或者,因爲這是用戶輸入,使用DateTime.TryParseExact
所以你不需要捕捉異常,如果用戶輸入了錯誤的日期:
using System;
class Test
{
static void Main()
{
TestParsing("24/10/2009");
TestParsing("flibble");
}
static void TestParsing(string text)
{
DateTime dt;
if (DateTime.TryParseExact(text, "d", null, 0, out dt))
{
Console.WriteLine("Parsed to {0}", dt);
}
else
{
Console.WriteLine("Bad date");
}
}
}
注意格式字符串「D」是指「短日期格式「(請參閱MSDN中的"standard date and time form at strings"和"custom date and time format strings"頁)。 「null」的意思是「使用當前的文化」 - 所以上述在英國適用於我,但您需要在美國製作字符串「10/24/2009」。如果您不想使用該線程的當前默認值,則可以指定特定的文化。 0表示默認的日期和時間樣式。查看MSDN頁面以獲取更多信息。