从Android读取WCF RESTdate

读取通过Android程序上的WCF REST服务发送的.NET DateTime最简单的方法是什么? date序列化为以下格式:Data = / Date(1326273723507 + 0100)/

有没有简单的方法来反序列化这个date?

谢谢。

以及我有完全相同的问题,我解决了这个简单的代码

public class Json { /** * Convertit une date Json en java.util.Date * @param jsonDate * @return */ public static Date JsonDateToDate(String jsonDate) { // "/Date(1321867151710+0100)/" int idx1 = jsonDate.indexOf("("); int idx2 = jsonDate.indexOf(")") - 5; String s = jsonDate.substring(idx1+1, idx2); long l = Long.valueOf(s); return new Date(l); } } 

如果您使用gson,您也可以使用该解决scheme: 以MS WCF兼容forms的date字段的gson序列化

XML序列化程序使用Ticks属性序列化Datetime实例以获得最佳精度(Ticks是从0001年1月1日午夜12:00:00开始经过的100纳秒间隔的数量)。 这是你在这里看到的数字,然后是+0100,这意味着GMT + 1:00

为了把ticks翻译成有效的javadate,请参阅Jon Skeet的(所有通往Jon Skeet的道路)的答案:

C#DateTime.Ticks等同于Java

我向WCF REST服务发送和接收date/从WCF REST服务接收date。 在Epoch(使用Jon Skeet的答案)之后,从蜱到毫秒的转换之后,我决定把date存储为Java long值(来自date.getTime()),以便我不做任何转换,从Android设备。 如果我需要在.NET端看到它们,那么我将进行转换。 所以,如果你有控制WCF结束和数据库,保持他们的长期。