快速的問題日期時間格式檢查
價值ActivationDate
或ExpirationDate
字符串傳遞,必須處於以下所述的兩種格式:格式1:YYYY-MM-DD
&格式2:YYYY-MM-DD HH:MM
如果日期值不在任上面的格式,那麼它應該回報相應的錯誤信息。
任何線索?在此先感謝
快速的問題日期時間格式檢查
價值ActivationDate
或ExpirationDate
字符串傳遞,必須處於以下所述的兩種格式:格式1:YYYY-MM-DD
&格式2:YYYY-MM-DD HH:MM
如果日期值不在任上面的格式,那麼它應該回報相應的錯誤信息。
任何線索?在此先感謝
您可以使用DateTime.TryParseExact,使用string[]
與有效格式:
string[] formats = new string[] { "yyyy-MM-dd", "yyyy-MM-dd HH:mm" };
string s = "2017-12-01 12:23";
DateTime date;
bool converted = DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out date);
有了這個代碼,您在converted
得到,如果輸入的日期是有效的格式,並在date
解析DateTime
您可以使用ParseExact()
與try-catch
:
string date = "2017-02-01";
DateTime dt = default(DateTime);
try
{
dt = DateTime.ParseExact(date, new string[] {"yyyy-MM-dd", "yyyy-MM-dd hh:mm"}, CultureInfo.InvariantCulture, DateTimeStyles.None);
}
catch (FormatException ex)
{
//error
}
OR
使用TryParseExact()
:
string date = "2017-02-01";
DateTime dt;
if (DateTime.TryParseExact(date, new string[] {"yyyy-MM-dd", "yyyy-MM-DD hh:mm"}, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
//do something and use "dt" variable
}
else
{
//error
}
嘗試解析這些格式,如果沒有可能,你會得到一個異常 –