Json Date \ / Date(1389715867000)/在java中转换为java.util.Date

时间:2017-09-19 10:41:39

标签: java json date

我有一个带有一个日期字段的json请求,如下所示:
"PolicyEffectiveDate": "\/Date(1389715867000)/\"

我想将它解析为java.util.Date类型的java对象 我在javascript中得到了如何做到这一点 javascript日期 here离子 here但是 我需要在java中这样做。请帮忙。

3 个答案:

答案 0 :(得分:1)

String policyEffective = ...

long time = Long.parseLong(policyEffective.replaceFirst("^.*Date\\((\\d+)\\).*$", "$1"));
Date date = new Date(time);

自1970年左右以来,这个数字是一个很长的ms,并且就这样进入Date构造函数。

结果:

Tue Jan 14 17:11:07 CET 2014

因为你有非法的论点;也许你拿了一个int或其他东西。

答案 1 :(得分:1)

long time = Long.parseLong(policyEffective.subString(
policyEffective.indexOf("(")+1,policyEffective.lastIndexOf(")"))));
Date date = new Date(time);

这种方式会将字符串从"("到")"的索引中修剪掉。 所以它只会提取数字

答案 2 :(得分:1)

import java.util.Date;
public class JsonDate {

    public static void main(String[] args) {
        String jsonDate = "\\" + "/Date(1389715867000)" + "/" + "\\";
        jsonDateToUtilDateConverter(jsonDate);
        System.out.println(jsonDate);
    }

    private static void jsonDateToUtilDateConverter(String jsonDate) {
        String epochDate = jsonDate.replaceAll("[^0-9]", "");

        Date date = new Date(Long.parseLong(epochDate));
        System.out.println("date: "+date);
        System.out.println(epochDate);

    }
}

我得到的输出是:

  

日期:Tue Jan 14 21:41:07 IST 2014
  1389715867000个
  /日期(1389715867000)/ \