Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetYearMonthDayOrder()

static bool System.DateTimeParse.GetYearMonthDayOrder ( string datePattern,
out int order )
inlinestaticprivate

Definition at line 1286 of file DateTimeParse.cs.

1287 {
1288 int num = -1;
1289 int num2 = -1;
1290 int num3 = -1;
1291 int num4 = 0;
1292 bool flag = false;
1293 for (int i = 0; i < datePattern.Length && num4 < 3; i++)
1294 {
1295 char c = datePattern[i];
1296 switch (c)
1297 {
1298 case '%':
1299 case '\\':
1300 i++;
1301 continue;
1302 case '"':
1303 case '\'':
1304 flag = !flag;
1305 break;
1306 }
1307 if (flag)
1308 {
1309 continue;
1310 }
1311 switch (c)
1312 {
1313 case 'y':
1314 num = num4++;
1315 for (; i + 1 < datePattern.Length && datePattern[i + 1] == 'y'; i++)
1316 {
1317 }
1318 break;
1319 case 'M':
1320 num2 = num4++;
1321 for (; i + 1 < datePattern.Length && datePattern[i + 1] == 'M'; i++)
1322 {
1323 }
1324 break;
1325 case 'd':
1326 {
1327 int num5 = 1;
1328 for (; i + 1 < datePattern.Length && datePattern[i + 1] == 'd'; i++)
1329 {
1330 num5++;
1331 }
1332 if (num5 <= 2)
1333 {
1334 num3 = num4++;
1335 }
1336 break;
1337 }
1338 }
1339 }
1340 if (num == 0 && num2 == 1 && num3 == 2)
1341 {
1342 order = 0;
1343 return true;
1344 }
1345 if (num2 == 0 && num3 == 1 && num == 2)
1346 {
1347 order = 1;
1348 return true;
1349 }
1350 if (num3 == 0 && num2 == 1 && num == 2)
1351 {
1352 order = 2;
1353 return true;
1354 }
1355 if (num == 0 && num3 == 1 && num2 == 2)
1356 {
1357 order = 3;
1358 return true;
1359 }
1360 order = -1;
1361 return false;
1362 }

Referenced by System.DateTimeParse.GetDateOfNNDS(), System.DateTimeParse.GetDayOfMNN(), System.DateTimeParse.GetDayOfNNN(), System.DateTimeParse.GetDayOfNNY(), and System.DateTimeParse.GetDayOfYNN().