我正在尝试将Json日期字符串转换为Java日期格式。但是,当涉及到“ return df.parse(tarih)”行时,它将给出错误。
JSON:
{"DateFrom":"\/Date(1323087840000+0200)\/"}
Java代码:
private Date JSONTarihConvert(String tarih) throws ParseException { SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ssz" ); if ( tarih.endsWith( "Z" ) ) { tarih = tarih.substring( 0, tarih.length() - 1) + "GMT-00:00"; } else { int inset = 6; String s0 = tarih.substring( 6, tarih.length()-1 - inset ); String s1 = tarih.substring( tarih.length()- inset,tarih.length()-2 ); tarih = s0 + "GMT" + s1; } return df.parse( tarih ); }
当我调用此方法时,tarih参数为:/ Date(1323087840000 + 0200)/
因为您对某个Date对象感兴趣,所以我认为JSON是Unix时间戳。 因此,我建议您使用Date(long毫秒)构造函数:)
Date
private Date JSONTarihConvert(String tarih) throws ParseException{ long timestamp = getTimeStampFromTarih(tarih); return new Date(timestamp); }
其中getTimeStampFromTarih提取出现“ +”之前的毫秒数
getTimeStampFromTarih