我需要一个自定义正则表达式来计算短日期模式(等等。“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}