簡単な質問のDateTime書式チェック
値は、下記の二つのフォーマットのいずれかでなければなりません:フォーマット1:YYYY-MM-DD
&フォーマット2:YYYY-MM-DD HH:MM
日付値は、のいずれかにない場合適切なエラーメッセージを報告する必要があります。
ヒント?事前に感謝
簡単な質問のDateTime書式チェック
値は、下記の二つのフォーマットのいずれかでなければなりません:フォーマット1:YYYY-MM-DD
&フォーマット2:YYYY-MM-DD HH:MM
日付値は、のいずれかにない場合適切なエラーメッセージを報告する必要があります。
ヒント?事前に感謝
あなたは、有効な形式でstring[]
を使用して、DateTime.TryParseExactを使用することができます:
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
あなたはtry-catch
でParseExact()
を使用することができます。
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
}
ができない場合は、例外に –