短い日付パターンを計算するためのカスタム正規表現が必要です(「M / dd / yyyy」、「dd / mm / yyyy」、「yyyy / mm / dd」など、文化によって異なります)。次のようにその形式を解析する日、月、年:
string input = "03/24/2013";
Match m = Regex.Match(input, @"^(?<day>\d{1,2})/(?<month>\d{1,2})/(?<year>\d{4})$");
if( m.Success )
{
DateTime d = new DateTime(int.Parse(m.Groups["year"].Value),
int.Parse(m.Groups["month"].Value),
int.Parse(m.Groups["day"].Value));
}
しかし!この式はすべてのさまざまな形式をサポートしているわけではないので
必要:
- 区切り文字として「/」のみを受け入れます。
- さまざまな文化(en-US、th-TH、jp-JPなど)で有効なすべての短い日付パターン(日付のみ、時間も素晴らしい)。これは可能ですか、実際には、どの部分が年、月、または日であるかを知る必要がありますが、どこにも見つかりませんでした。私を助けてください...
- 有効な共通範囲:日[1-31] {1-2}、月[1-12] {1-2}、年[1600-9999] {4}