據我所知,有沒有簡單的方法來檢查DateTime
的int
的有效性除了串接int
s轉換格式正確的string
提前。
爲了避免try
/catch
-ing,我會寫一個靜態實用類,它利用DateTime.TryParse
:
using System;
public static class DateTimeUtilities
{
public static bool TryParse(int year, int month, int day, out DateTime result)
{
return DateTime.TryParse(
string.Format("{0}/{1}/{2}", year, month, day), out result);
}
}
用法:
DateTime dateTime;
if (DateTimeUtilities.TryParse(2017, 2, 30, out dateTime))
{
// success
}
else
{
// fail, dateTime = DateTime.MinValue
}
待您的應用程序,例如需求(感謝@Matt Johnson),我還會考慮DateTime.TryParseExact
。
僅供參考 - 「解析」總是涉及字符串。 –