как назначить настраиваемое время строке при ее преобразовании в dateTime в c# - PullRequest
0 голосов
/ 17 июня 2020

Я получаю строку как "Start:6/23/2020 End:7/31/2020" и для преобразования ее в указанный c формат даты и времени я написал следующий код, в котором я удалил Start: и End:, и при преобразовании я хочу назначить время как 11:59:59 PM для окончания конечной даты. Как это сделать?

if (s.FilterBy.Equals("Submit Date"))
            {
                s.SearchTerm = s.SearchTerm.Replace("Start:", "").Replace("End:", "");
                string[] date = s.SearchTerm.Split(' ');
                DateTime startDate = Convert.ToDateTime(date[0]);
                DateTime endDate = Convert.ToDateTime(date[1]);
                var idList = accessBrokerService.GetFileteredIds(s.SearchTerm);
                // StringComparison comp = StringComparison.OrdinalIgnoreCase;
                requestListItems = requestListItems.Where(x => string.IsNullOrEmpty(s.SearchTerm)
                || (x.RequestDate >= startDate && x.RequestDate <= endDate)
                || idList.Any(list => list.Equals(x.RequestItemKey))).ToList();
            }

1 Ответ

0 голосов
/ 18 июня 2020

Итак, мне предложили комментарии, которые я попробовал добавить, добавив endDate = endDate.AddDays(1).AddSeconds(-1);, и это сработало.

И вот так теперь выглядит мой код

   if (s.FilterBy.Equals("Submit Date"))
                {
                    s.SearchTerm = s.SearchTerm.Replace("Start:", "").Replace("End:", "");
                    string[] date = s.SearchTerm.Split(' ');
                    DateTime startDate = Convert.ToDateTime(date[0]);
                    DateTime endDate = Convert.ToDateTime(date[1]);
                    endDate = endDate.AddDays(1).AddSeconds(-1);
                    var idList = accessBrokerService.GetFileteredIds(s.SearchTerm);
                    // StringComparison comp = StringComparison.OrdinalIgnoreCase;
                    requestListItems = requestListItems.Where(x => string.IsNullOrEmpty(s.SearchTerm)
                    || (x.RequestDate >= startDate && x.RequestDate <= endDate)
                    || idList.Any(list => list.Equals(x.RequestItemKey))).ToList();
                }   
...