我从 ASP.NET 转换的 JSON 字符串有一点问题。
C# 为我转换的 JSON 字符串如下所示:/Date(1338199919727)\/
我猜它会将它转换为毫秒或其他东西,但是我如何从这个巨大的整数中获得 Java 日期?
我需要在我的Android应用程序上正确显示日期(作为特定格式的字符串(dd-MM-yyyy:HH),这就是我需要它在Java中的原因。我是否必须手动制作某种形式的转换器我自己,想办法做到这一点?或者有一些甜蜜,简单的方法吗?
但是我如何从这个巨大的整数中得到一个 java-date 呢?
啊,那部分很简单:
Date dt = new Date(1338199919727L);
你说得对,它是从时代以来的毫秒数(1970 年 1 月 1 日午夜)。Java 的Date
对象有一个接受这个值的构造函数。
通常,大多数 JSON 解析器都具有可以传递给它们的“reviver”函数或类的概念,这将允许您在反序列化 JSON 时预处理值。我不太了解 Android 的 JSON 解析器,不知道它是否有。如果不是(这会有点落后),您将不得不遍历生成的对象图以查找已成为字符串的属性并将它们转换为事后的日期。
我希望这是你需要的
long Ldate = 1338199919727L;
Date date = new Date(Ldate * 1000);
String strdate = (String) DateFormat.format("MM/dd/yy h:mmaa", date);