Служба данных WCF [WebGet] параметры даты и времени

Я пытаюсь передать 2 параметра datetime в мой веб-сайт, но я не могу понять, как заставить его работать должным образом. Я покажу вам мой код ниже и ошибку, которую я получаю, может быть, кто-то сейчас понимает, как это работает.

[WebGet]
public IQueryable<TestTable> GetCallersByDate(string beginDate, string eindDate)
{
        testCDREntities context = this.CurrentDataSource;

        DateTime startDt = DateTime.Parse(beginDate);
        DateTime endDt = DateTime.Parse(eindDate);



        var selectedOrders = from table in context.TestTables
                             where table.Created >= startDt && table.Created <= endDt
                             select table;

        return selectedOrders; 
}

URL:

http://localhost:50088/WebService.svc/GetCallersByDate?beginDate=2016/03/23T20:22:30:14&eindDate=2016/03/2T20:13:11:03

Я надеюсь, что кто-нибудь может мне помочь?

1 ответ

Решение

Учитывая данные ниже, вы должны использовать DateTime.ParseExact вместо обычного DateTime.Parse

http://localhost:50088/WebService.svc/GetCallersByDate?beginDate=2016/03/23T20:22:30:14&eindDate=2016/03/2T20:13:11:03

Мы можем видеть, что формат строки даты - гггг / мм / ддтчч: мм: сс и AFAIK, что этот формат не является родным для.NET

beginDate = 2016/03 / 23T20: 22: 30: 14 eindDate = 2016/03 / 2T20: 13: 11: 03

string dateFormat = "yyyy/MM/ddTHH:mm:ss";

DateTime startDt = DateTime.ParseExact(beginDate, dateFormat, CultureInfo.InvariantCulture);
DateTime endDt = DateTime.Parse(eindDate, dateFormat, CultureInfo.InvariantCulture);
Другие вопросы по тегам