Sourceforges JSON-lib(http://json-lib.sourceforge.net)生成这样的JSON日期格式:
{
"date":10,
"day":5,
"hours":0,
"minutes":0,
"month":5,
"nanos":0,
"seconds":0,
"time":1307660400000,
"timezoneOffset":-60,
"year":111 //this is 2011
}
有没有一种简单的方法可以将其转换为Javascript日期对象,还是应该通过手动设置日期对象上的所有变量?
我搜遍了所有这一切,没有运气! (如果答案是在某个地方,我似乎无法找到它而道歉)
答案 0 :(得分:1)
看起来时间是以毫秒为单位的纪元,所以你可以这样做:new Date(object['time'])
您当然需要首先将其解析为对象。
答案 1 :(得分:0)
似乎在json-lib project home页面中,没有示例解释日期的过程。但是只要您搜索json-lib的API,您最终会得到答案
您可以在此处使用此方法来处理 java.util.Date 类。您可以定义自己的格式模式,并使用 JsonConfig 注册用于处理日期类的自定义 JsonValueProcessor 。
public static final JSON serializerObjWithFormatDate(Object javaObj){
String pattern = "yyyy-MM-dd HH:mm:ss";
final SimpleDateFormat fm = new SimpleDateFormat(pattern);
JsonConfig jsonCfg = new JsonConfig();
jsonCfg.registerJsonValueProcessor(Date.class, new JsonValueProcessor() {
@Override
public Object processObjectValue(String key, Object value, JsonConfig cfg) {
if (value == null) {
return "";
} else {
return fm.format((Date)value);
}
}
@Override
public Object processArrayValue(Object date, JsonConfig arg1) {
return fm.format((Date)date);
}
});
return JSONSerializer.toJSON(javaObj ,jsonCfg);
}
param javaObj 是具有 Date 类实例的java对象。
愿它有用。