【问题标题】:WCF data service [WebGet] datetime parametersWCF 数据服务 [WebGet] 日期时间参数
【发布时间】:2016-03-31 23:44:24
【问题描述】:

我尝试将 2 个日期时间参数传递到我的 webget 中,但我不知道如何让它正常工作。我将在下面向您展示我的代码,我得到的错误也许有人现在知道这是如何工作的。

[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; 
}

网址:

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

我希望有人可以帮助我吗?

【问题讨论】:

  • 至少那些斜线会有问题,URL 编码你的数据。

标签: c# mysql wcf datetime webget


【解决方案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

我们可以看到日期字符串的格式是 yyyy/MM/ddTHH:mm:ss 和 AFAIK,这种格式不是 .NET 原生的

开始日期=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);

【讨论】:

  • 感谢您的帮助,您太棒了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-17
相关资源
最近更新 更多