-588657600000-0400
我的回答是这样的。我无法将其转换为日期格式,因为这是一个无效的长。
new Date(Long.parseLong("/Date(-588657600000-0400)/"));
无论如何,当我们以这种格式获得响应String时,我们实际上可以构造一个新的Date对象。这个问题与之前提到的这个问题有关。 java.lang.Long.parseLong Exception
此处抛出的异常是“04-09 01:39:25.793:E / AndroidRuntime(8011):java.lang.NumberFormatException:无效长:”588657600000-0400“
我试着查看Calendar类http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html但是找不到一个方法来获取Date对象而不传递Long。
答案 0 :(得分:3)
将输入字符串拆分为2个值怎么样?
Date foo2 = new Date(Long.parseLong("-588657600000") + Long.parseLong("-0400"));
不过,那个日期是:Mon May 07 16:59:59 BRT 1951
hehehe
编辑:
这不检查输入值,并假设总是有负
import java.util.Date;
public class MiMiMi {
public static void main(String[] args) {
String input = "/Date(-588657600000-0400)/";
input = input.replace("/Date(", "");
input = input.replace(")/", "");
String[] pair = input.split("-");
System.out.println(pair[1]);
System.out.println(pair[2]);
Date foo = new Date(Long.parseLong("-" + pair[1])
+ Long.parseLong("-" + pair[2]));
System.out.println(foo);
}
}