2013-04-02 23 views
22

bir tarihi, almak için:biri doğum tarihi olan alanı var ben bir JSON nesnesi var JSON nesnesi

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")); 

Ama JSONObject nesnesi içinde yok getDate() yöntemi.
Birthdate'i Kullanıcı nesnesimde nasıl ayarlayabilirim?

+1

nasıl tarihtir, aşağıda gibi yapabilir yapabilirsiniz JSON cevabında temsil edildi mi? Sanırım bir String mi? JSON'u göster. –

+0

Şöyle: "birthdate": "2012-08-01" – user2144555

cevap

37

içinde olup olmadığını

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

Umut size yardımcı olmak için :)

+0

Sonuçlandı, ancak '01 Ağustos 00:00:00 BST 2012' yazıyor, benim formatım bile' SimpleDateFormat (" yyyy-MM-dd ")' – user2144555

+0

sonucu normaldir, çünkü format partten formatıdır "yyyy-MM-dd", lütfen saat, dakika ve saniye almak için "yyyy-AA-dd HH: mm: ss" kullanın. –

+0

@ Bob.Z Ben böyle "2015-12-25 00:00:00 UTC" gibi biçimlendirmek istiyorum gibi bu "2015-12-25 00:00:00" gibi tarih dize alıyorum. Hangi biçimi 'SimpleDateFormat ("? ")' yazmalıyım. –

4

Genel olarak, bir tarih milisaniye olarak veya biçimlendirilmiş bir dize olarak geçirilir. Yani json bağlı Kullanmak ya new Date(json.getLong(milliseconds)) kullanmak veya tarih dizesi

String birthdate = json.getString(date);//"2013-03-26" 
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 
+0

Sonuçlandı, ancak '01 Ağustos 00:00:00 BST 2012' yazıyor, benim formatım bile' SimpleDateFormat ("yyyy-MM-dd") ' – user2144555