【问题标题】:How can i deserialize a string Json Date? [duplicate]如何反序列化字符串 Json Date? [复制]
【发布时间】:2016-01-28 19:51:51
【问题描述】:

我是 Android 的新开发者,我想反序列化日期值的字符串,并且我正在寻找将转换为 json 的日期反序列化为 /Date(1446063654000)/ 这样的字符串格式 YYYY/MM/ DD。

但我没有找到解决方案。

你能检查一下并告诉我该怎么做吗?

【问题讨论】:

    标签: java android json date gson


    【解决方案1】:

    你需要使用SimpleDateFormat

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.US);
    Date date = sdf.parse(string, parsePosition)
    

    如果你使用 Gson 库来解析 Json 字符串,你可以使用:

    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.setDateFormat(dateFormat);
    Gson gson = gsonBuilder.create();
    gson.fromJson(string, YourClass.class);
    

    【讨论】:

    • 你有例子吗?
    • 你需要什么例子?
    【解决方案2】:

    /Date(1446063654000)/ 似乎是一个 unix 时间戳。假设您将其作为字符串...

    String str = "/Date(1446063654000)/";
    

    ...将其转换为日期非常简单,例如,您可以这样做......

    long time = Long.parseLong( str.substring(6, str.length() - 2 );
    

    也就是说,取'/Date(之后的字符串部分(6个字符长)直到最后一个),也就是数字部分,然后解析成long。

    long 可以变成日期...

    Date date = new Date( time );
    

    并且可以将日期格式化为字符串...

    String formatted = new SimpleDateFormat("yyyy/MM/dd").format( date );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-28
      • 2021-09-02
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多