我在字符串类型中有以下值/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>
谢谢!
答案 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的答案可能会更好地表现。我不知道这两种方法的性能差异。