gpt4 book ai didi

android - 将日期时间从 Android 发布到 WCF RESTful JSON 服务

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:11 25 4
gpt4 key购买 nike

我正在尝试将 DateTime 作为参数发送到通过使用 JSON 编码的 WCF RESTful 服务公开的方法。请求看起来像这样:

POST http://IP:PORT/LogService/json/GetLogEntriesByModule HTTP/1.1
Content-Length: 100
Content-Type: application/json
Host: IP:PORT
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Expect: 100-Continue

{"maxentries":10,"upperdate":"1280703601462","lowerdate":"1277938801462","module":"Windows Service"}

我为 DateTime 尝试了几种格式:

  • 2010-07-01T10:54:00(由 WCFTestClient 应用程序通过 NET.TCP 发送并获得结果
  • \/日期(12345678+0100)\/
  • 01.07.2010 10:54:00

方法定义:

LogEntry[] GetLogEntriesByModule(
string module,
DateTime lowerDate,
DateTime upperDate,
int maxEntries,
out bool maxEntriesReached
)

我总是得到以下响应:

HTTP/1.1 200 OK
Content-Length: 60
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 02 Jul 2010 09:07:04 GMT

{"GetLogEntriesByModuleResult":[],"maxEntriesReached":false}

似乎 DateTime 没有被正确解析,因为在那个时间的 Llog 中有几个条目。

有人知道怎么做吗?

更新:问题出在服务器端,已经解决。

最佳答案

向 WCF 服务发布日期的正确格式是:/日期(53244000000)/其中括号中的数字是自 1970 年 UTC 午夜以来的毫秒数。

Date dt = new Date();
long date = Date.UTC(dt.getYear(), dt.getMonth(), dt.getDay(), dt.getHours(),dt.getMinutes(), dt.getSeconds());
String senddate = "/date("+date+")/";

然后如下使用它

inputparam.put("DateTime", datetime);

关于android - 将日期时间从 Android 发布到 WCF RESTful JSON 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3164480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com