Skip to content

Commit 62e0b65

Browse files
committed
More datetime fix
1 parent 5e06835 commit 62e0b65

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

Mvc.JQuery.Datatables.Core/Processing/StringTransformers.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ internal static object GetStringedValue(Type propertyType, object value)
1717
static StringTransformers()
1818
{
1919
RegisterFilter<DateTimeOffset>(dateTimeOffset => dateTimeOffset.ToLocalTime().ToString("g"));
20-
RegisterFilter<DateTime>(dateTime => dateTime.ToString("g"));
20+
RegisterFilter<DateTime>(dateTime => dateTime.ToLocalTime().ToString("g"));
2121
RegisterFilter<IHtmlString>(s => s.ToHtmlString());
2222
RegisterFilter<IEnumerable<string>>(s => s.ToArray());
2323
RegisterFilter<IEnumerable<int>>(s => s.ToArray());

Mvc.JQuery.Datatables.Core/Processing/TypeFilters.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,16 @@ public static string DateTimeOffsetFilter(string query, string columnname, DataT
127127
DateTimeOffset dateTime;
128128
if (DateTimeOffset.TryParse(query, out dateTime))
129129
{
130+
dateTime = dateTime.ToUniversalTime();
130131
if (dateTime.Date == dateTime)
131132
{
132-
133-
filterString = string.Format("{1}.Date == @" + parametersForLinqQuery.Count, columnname);
134133
parametersForLinqQuery.Add(dateTime);
135-
134+
parametersForLinqQuery.Add(dateTime.AddDays(1));
135+
filterString = string.Format("{0} >= @{1} and {0} < @{2}", columnname, parametersForLinqQuery.Count - 2, parametersForLinqQuery.Count - 1);
136136
}
137137
else
138138
{
139-
filterString = string.Format("{1} == @" + parametersForLinqQuery.Count, columnname);
139+
filterString = string.Format("{0} == @" + parametersForLinqQuery.Count, columnname);
140140
parametersForLinqQuery.Add(dateTime);
141141
}
142142
}
@@ -171,19 +171,19 @@ public static string DateTimeFilter(string query, string columnname, DataTablesP
171171
}
172172
else
173173
{
174-
DateTimeOffset dateTime;
175-
if (DateTimeOffset.TryParse(query, out dateTime))
174+
DateTime dateTime;
175+
if (DateTime.TryParse(query, out dateTime))
176176
{
177+
dateTime = dateTime.ToUniversalTime();
177178
if (dateTime.Date == dateTime)
178179
{
179-
180-
filterString = string.Format("{1}.Date == @" + parametersForLinqQuery.Count, columnname);
181180
parametersForLinqQuery.Add(dateTime);
182-
181+
parametersForLinqQuery.Add(dateTime.AddDays(1));
182+
filterString = string.Format("{0} >= @{1} and {0} < @{2}", columnname, parametersForLinqQuery.Count - 2, parametersForLinqQuery.Count - 1);
183183
}
184184
else
185185
{
186-
filterString = string.Format("{1} == @" + parametersForLinqQuery.Count, columnname);
186+
filterString = string.Format("{0} == @" + parametersForLinqQuery.Count, columnname);
187187
parametersForLinqQuery.Add(dateTime);
188188
}
189189
}

0 commit comments

Comments
 (0)