我想在一个json对象中发送日期(和其他信息)从android应用程序到Restful WS
这就是我在我的Android应用程序中所做的。
String date = mFormat.format(Double.valueOf(mYear)) + "-" + mFormat.format(Double.valueOf(mMonth+1)) + "-" + mFormat.format(Double.valueOf(mDay)
);
// so i will have somthing like date = "2016-03-30"
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.FRANCE);
Date dateFin;
dateFin= df.parse(date);
jsonObject.put("datefin", dateFin);
在Web服务中我正在使用hibernate for ORM和MySql,它工作将对象插入到数据库中但日期字段始终为NULL
来自网络服务的快照
@POST
@Path("/add")
public Response addOffer(Offers offer) throws IOException {
offerService.addOffer(offer);
return Response.status(Status.CREATED).entity(offer).build();
}
这是方法addOffer。
public void addOffer(Offers offer) {
// Offers f = new Offers("name","desc","category","market ",longitude,latitude,date);
Session session = createSessionFactory().openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.save(offer);
tx.commit();
} catch (HibernateException e) {
if (tx != null)
tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
}
所以任何想法为什么会发生这种情况以及如何解决它?
答案 0 :(得分:1)
最后我发现如果日期不是这种格式
yyyy-MM-dd'T'HH:mm:ssZ
Restful WS拒绝将其作为日期使用,因此我将代码更改为
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.FRANCE);
当然我没有时间所以它将是00:00:00