2017-02-09 71 views
-2

快速的問題日期時間格式檢查

價值ActivationDateExpirationDate字符串傳遞,必須處於以下所述的兩種格式:格式1:YYYY-MM-DD &格式2:YYYY-MM-DD HH:MM 如果日期值不在任上面的格式,那麼它應該回報相應的錯誤信息。

任何線索?在此先感謝

+1

嘗試解析這些格式,如果沒有可能,你會得到一個異常 –

回答

1

您可以使用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

1

您可以使用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 
} 
+0

謝謝..現在我得到了CultureInfo和DateTimeStyles的錯誤。我應該爲它添加哪個參考? – Anjali

+0

添加'使用System.Globalization;' –

+0

非常感謝你:) – Anjali