Java 如何从JSON对象获取日期

Java 如何从JSON对象获取日期,java,json,date,object,getdate,Java,Json,Date,Object,Getdate,我有一个JSON对象,其中有一个字段是生日: JSONObject obj = new JSONObject(response); User user = new User(); user.setuserID(obj.getString("userID")); user.setisMale(obj.getBoolean("isMale")); user.setEmail(obj.getString("email")); // user.setBirthdate(obj.getDate("birt

我有一个JSON对象,其中有一个字段是生日:

JSONObject obj = new JSONObject(response);
User user = new User();
user.setuserID(obj.getString("userID"));
user.setisMale(obj.getBoolean("isMale"));
user.setEmail(obj.getString("email"));
// user.setBirthdate(obj.getDate("birthdate"));
user.setLastName(obj.getString("lastName"));
user.setFirstName(obj.getString("firstName"));
但是方法
getDate()
在JSONObject中不存在。

如何在用户对象中设置生日?

通常,日期以毫秒或格式化字符串的形式传递。因此,根据您的json,您可以使用
新日期(json.getLong(毫秒))
或者日期是字符串

String birthdate = json.getString(date);//"2013-03-26"
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 
你可以像下面这样做

String dateStr = obj.getString("birthdate");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date birthDate = sdf.parse(dateStr);
//then
user.setBirthdate(birthDate);

希望能帮助您:)

JSON响应中如何表示您的日期?我猜是一根绳子?显示JSON。类似于:“birthdate”:“2012-08-01”结果,但它正在打印
Wed Aug 01 00:00:00 BST 2012
,甚至我的格式是
SimpleDataFormat(“yyyy-MM-dd”)
您的结果是正常的,因为第十部分的格式是“yyy-MM-dd”,请使用“yyyy-MM-dd HH:MM:ss”获取小时数,分和秒。@Bob.Z我得到的日期字符串是“2015-12-25 00:00:00”,我想格式化为“2015-12-25 00:00:00 UTC”。我应该在
SimpleDataFormat(“?”
)中写哪种格式。我更喜欢在线的新SimpleDataFormat(“yyy-MM-dd'T'HH:MM:ssZ”)。解析(dateStr)结果,但它正在打印
Wed Aug 01 00:00:00 BST 2012
,甚至我的格式也是
SimpleDataFormat(“yyy-MM-dd”)