将Json日期转换为java日历

时间:2013-08-08 08:14:08

标签: java json datetime date-conversion

我在字符串类型中有以下值/Date(1234043600000)/,我需要 将它转换为java日历类型没有成功,我试图使用以下帖子并创建日期而不是像帖子那样做

How do I format a Microsoft JSON date?

Date date = new Date(parseInt(jsonDate.substr(6))); 

and than do someting like

Calendar cal = Calendar.getInstance();
cal.setTime(date);

我在第一行收到错误,因为在单词date中我在中间有一行而substr(6)有错误(方法substr(int)未定义类型String),我应该如何继续。< / p>

谢谢!

2 个答案:

答案 0 :(得分:3)

这应该在Java中起作用

Date date = new Date(Long.parseLong(jsonDate.replaceAll(".*?(\\d+).*", "$1")));

你的例子的问题是它只适用于javascript

答案 1 :(得分:2)

获取号码的最简单方法是使用

Long dateInMiliSeconds = new Scanner(jsonDate).nextLong();
Date date = new Date(dateInMiliSeconds);
Calendar cal = Calendar.getInstance();
cal.setTime(date);

编译错误的原因还在于,在String类中获取子字符串的方法称为subString而不是substr

虽然使用扫描仪是清洁的,如果你不知道很多正则表达式,Evgeniy的答案可能会更好地表现。我不知道这两种方法的性能差异。