DateChooser 2007.07.25版

修正日期分析的Bug
Date.ParseExact()方法居然不能将2007/7/25这样的字符串用yyyy/MM/dd这样的格式符解析,而只能是2007/07/25,没办法,改成用正则表达式来分析了。
2007.07.25版下载

DUDU的版本管理器怎么用,在哪里?

                Regex regDateFormat = new Regex(@"([ymd])\1{0,3}", RegexOptions.IgnoreCase | RegexOptions.Compiled);
                MatchCollection formatMatches = regDateFormat.Matches(DateFormat);
                Regex regDate = new Regex(@"\d+",RegexOptions.Compiled);
                MatchCollection dateMatches = regDate.Matches(this._textBox.Text);
                int year = 0;
                int month = 0;
                int day = 0;
                for(int i = 0 ; i < formatMatches.Count ; i++)
                {
                    Match match = formatMatches[i];
                    switch (match.Value[0])
                    {
                        case 'Y':
                        case 'y':
                            year = int.Parse(dateMatches[i].Value);
                            break;
                        case 'M':
                        case 'm':
                            month = int.Parse(dateMatches[i].Value);
                            break;
                        case 'D':
                        case 'd':
                            day = int.Parse(dateMatches[i].Value);
                            break;
                    }
                }
                return new DateTime(year, month, day);
posted @ 2007-07-25 11:03  Think  阅读(3406)  评论(7编辑  收藏  举报