奇怪的日期格式到Java日期

Len*_*nie 2 java

我从API获得了以下日期格式(是的,我试图让他们更改API ... dailywtf故事):

\/Date(1310481956000+0200)\/
Run Code Online (Sandbox Code Playgroud)

如何将其转换为Java日期?(java.util.Date)

这来自.NET JSON Web服务.

Ali*_*ael 9

不知道日期/时间字符串代表什么,让我猜一下.

1310481956000看起来是纪元后毫秒,+0200偏移量相对于GMT.

以下代码似乎也表明了这一点:

final TimeZone tz = TimeZone.getTimeZone("GMT+0200");
final Calendar cal = Calendar.getInstance(tz);
cal.setTimeInMillis(1310481956000L);
final SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
f.setTimeZone(tz);
System.out.println(f.format(cal.getTime()));
Run Code Online (Sandbox Code Playgroud)

打印 2011-07-12 16:45:56 GMT+02:00