Browse Source

DateTimeParser: now correctly parses SortableDateTime and UniversalSortableDateTime formats

pull/1645/head
brianlagunas_cp 15 years ago
parent
commit
e129c60465
  1. 16
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/DateTimeUpDown/Implementation/DateTimeParser.cs

16
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/DateTimeUpDown/Implementation/DateTimeParser.cs

@ -33,6 +33,8 @@ namespace Microsoft.Windows.Controls
string designator = "";
string[] dateTimeSeparators = new string[] { ",", " ", "-", ".", "/", cultureInfo.DateTimeFormat.DateSeparator, cultureInfo.DateTimeFormat.TimeSeparator };
ResolveSortableDateTimeString(ref dateTime, ref format, cultureInfo);
var dateTimeParts = dateTime.Split(dateTimeSeparators, StringSplitOptions.RemoveEmptyEntries).ToList();
var formats = format.Split(dateTimeSeparators, StringSplitOptions.RemoveEmptyEntries).ToList();
@ -73,6 +75,20 @@ namespace Microsoft.Windows.Controls
return String.Format("{0} {1} {2}", date, time, designator);
}
private static void ResolveSortableDateTimeString(ref string dateTime, ref string format, CultureInfo cultureInfo)
{
if (format == cultureInfo.DateTimeFormat.SortableDateTimePattern)
{
format = format.Replace("'", "").Replace("T", " ");
dateTime = dateTime.Replace("'", "").Replace("T", " ");
}
else if (format == cultureInfo.DateTimeFormat.UniversalSortableDateTimePattern)
{
format = format.Replace("'", "").Replace("Z", "");
dateTime = dateTime.Replace("'", "").Replace("Z", "");
}
}
private static Dictionary<string, string> GetDateParts(DateTime currentDate, CultureInfo cultureInfo)
{
Dictionary<string, string> dateParts = new Dictionary<string, string>();

Loading…
Cancel
Save