|
1 | 1 | using System; |
| 2 | +using System.Globalization; |
2 | 3 | using System.Text; |
3 | 4 | using System.Text.RegularExpressions; |
4 | 5 |
|
@@ -116,58 +117,59 @@ public MyDate(decimal num) |
116 | 117 | /// <returns></returns> |
117 | 118 | public static MyDate Parse(String txt) |
118 | 119 | { |
| 120 | + CultureInfo cultureInfo = CultureInfo.GetCultureInfo("en-US"); |
119 | 121 | String t = txt.Trim(); |
120 | 122 | var m = Regex.Match(t, "^(\\d{4})-(11|12|0?\\d)-(30|31|[012]?\\d) ([01]\\d?|2[1234]):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled); |
121 | 123 | if (m.Success) { |
122 | 124 | MyDate date = new MyDate(); |
123 | | - date.Year = int.Parse(m.Groups[(1)].Value); |
124 | | - date.Month = int.Parse(m.Groups[(2)].Value); |
125 | | - date.Day = int.Parse(m.Groups[(3)].Value); |
126 | | - date.Hour = int.Parse(m.Groups[(4)].Value); |
127 | | - date.Minute = int.Parse(m.Groups[(5)].Value); |
128 | | - date.Second = int.Parse(m.Groups[(6)].Value); |
| 125 | + date.Year = int.Parse(m.Groups[(1)].Value, cultureInfo); |
| 126 | + date.Month = int.Parse(m.Groups[(2)].Value, cultureInfo); |
| 127 | + date.Day = int.Parse(m.Groups[(3)].Value, cultureInfo); |
| 128 | + date.Hour = int.Parse(m.Groups[(4)].Value, cultureInfo); |
| 129 | + date.Minute = int.Parse(m.Groups[(5)].Value, cultureInfo); |
| 130 | + date.Second = int.Parse(m.Groups[(6)].Value, cultureInfo); |
129 | 131 | return date; |
130 | 132 | } |
131 | 133 | m = Regex.Match(t, "^(\\d{4})-(11|12|0?\\d)-(30|31|[012]?\\d) ([01]\\d?|2[1234]):([012345]?\\d)$", RegexOptions.Compiled); |
132 | 134 | if (m.Success) { |
133 | 135 | MyDate date = new MyDate(); |
134 | | - date.Year = int.Parse(m.Groups[(1)].Value); |
135 | | - date.Month = int.Parse(m.Groups[(2)].Value); |
136 | | - date.Day = int.Parse(m.Groups[(3)].Value); |
137 | | - date.Hour = int.Parse(m.Groups[(4)].Value); |
138 | | - date.Minute = int.Parse(m.Groups[(5)].Value); |
| 136 | + date.Year = int.Parse(m.Groups[(1)].Value, cultureInfo); |
| 137 | + date.Month = int.Parse(m.Groups[(2)].Value, cultureInfo); |
| 138 | + date.Day = int.Parse(m.Groups[(3)].Value, cultureInfo); |
| 139 | + date.Hour = int.Parse(m.Groups[(4)].Value, cultureInfo); |
| 140 | + date.Minute = int.Parse(m.Groups[(5)].Value, cultureInfo); |
139 | 141 | return date; |
140 | 142 | } |
141 | 143 | m = Regex.Match(t, "^(\\d{4})-(11|12|0?\\d)-(30|31|[012]?\\d)$"); |
142 | 144 | if (m.Success) { |
143 | 145 | MyDate date = new MyDate(); |
144 | | - date.Year = int.Parse(m.Groups[(1)].Value); |
145 | | - date.Month = int.Parse(m.Groups[(2)].Value); |
146 | | - date.Day = int.Parse(m.Groups[(3)].Value); |
| 146 | + date.Year = int.Parse(m.Groups[(1)].Value, cultureInfo); |
| 147 | + date.Month = int.Parse(m.Groups[(2)].Value, cultureInfo); |
| 148 | + date.Day = int.Parse(m.Groups[(3)].Value, cultureInfo); |
147 | 149 | return date; |
148 | 150 | } |
149 | 151 | m = Regex.Match(t, "^(\\d+) (2[1234]|[01]?\\d):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled); |
150 | 152 | if (m.Success) { |
151 | 153 | MyDate date = new MyDate(); |
152 | | - date.Day = int.Parse(m.Groups[(1)].Value); |
153 | | - date.Hour = int.Parse(m.Groups[(2)].Value); |
154 | | - date.Minute = int.Parse(m.Groups[(3)].Value); |
155 | | - date.Second = int.Parse(m.Groups[(4)].Value); |
| 154 | + date.Day = int.Parse(m.Groups[(1)].Value, cultureInfo); |
| 155 | + date.Hour = int.Parse(m.Groups[(2)].Value, cultureInfo); |
| 156 | + date.Minute = int.Parse(m.Groups[(3)].Value, cultureInfo); |
| 157 | + date.Second = int.Parse(m.Groups[(4)].Value, cultureInfo); |
156 | 158 | return date; |
157 | 159 | } |
158 | 160 | m = Regex.Match(t, "^(2[1234]|[01]?\\d):([012345]?\\d):([012345]?\\d)$", RegexOptions.Compiled); |
159 | 161 | if (m.Success) { |
160 | 162 | MyDate date = new MyDate(); |
161 | | - date.Hour = int.Parse(m.Groups[(1)].Value); |
162 | | - date.Minute = int.Parse(m.Groups[(2)].Value); |
163 | | - date.Second = int.Parse(m.Groups[(3)].Value); |
| 163 | + date.Hour = int.Parse(m.Groups[(1)].Value, cultureInfo); |
| 164 | + date.Minute = int.Parse(m.Groups[(2)].Value, cultureInfo); |
| 165 | + date.Second = int.Parse(m.Groups[(3)].Value, cultureInfo); |
164 | 166 | return date; |
165 | 167 | } |
166 | 168 | m = Regex.Match(t, "^(2[1234]|[01]?\\d):([012345]?\\d)$", RegexOptions.Compiled); |
167 | 169 | if (m.Success) { |
168 | 170 | MyDate date = new MyDate(); |
169 | | - date.Hour = int.Parse(m.Groups[(1)].Value); |
170 | | - date.Minute = int.Parse(m.Groups[(2)].Value); |
| 171 | + date.Hour = int.Parse(m.Groups[(1)].Value, cultureInfo); |
| 172 | + date.Minute = int.Parse(m.Groups[(2)].Value, cultureInfo); |
171 | 173 | return date; |
172 | 174 | } |
173 | 175 | return null; |
|
0 commit comments