Java 日期返回空值
我正在构建一个带有用户列表的android应用程序,并试图从用户那里了解年龄Java 日期返回空值,java,android,Java,Android,我正在构建一个带有用户列表的android应用程序,并试图从用户那里了解年龄 for (int i = 0; i < contacts.length(); i++) { JSONObject c = contacts.getJSONObject(i); String id = c.getString(TAG_ID); String name = c.getString(TAG_NAME); String user_id = c.getString(TAG_
for (int i = 0; i < contacts.length(); i++) {
JSONObject c = contacts.getJSONObject(i);
String id = c.getString(TAG_ID);
String name = c.getString(TAG_NAME);
String user_id = c.getString(TAG_USERID);
String birth_date = c.getString(TAG_BIRTH_DATE);
String pic_url_get = c.getString(TAG_IMAGE);
int year = Integer.parseInt(birth_date.substring(0, 4));
int month = Integer.parseInt(birth_date.substring(4, 6));
int day = Integer.parseInt(birth_date.substring(birth_date.length() - 2));
Calendar dateOfYourBirth = new GregorianCalendar(year, month, day);
Calendar today = Calendar.getInstance();
int yourAge = today.get(Calendar.YEAR) - dateOfYourBirth.get(Calendar.YEAR);
dateOfYourBirth.add(Calendar.YEAR, yourAge);
if (today.before(dateOfYourBirth)) {
yourAge--;
}
// tmp hashmap for single contact
HashMap<String, String> contact = new HashMap<String, String>();
// adding each child node to HashMap key => value
contact.put(TAG_ID, id);
contact.put(TAG_NAME, name);
contact.put(TAG_BIRTH_DATE, "Age" + yourAge);
contact.put(TAG_IMAGE, "*******/images/" + user_id + "/" + pic_url_get);
// adding contact to contact list
contactList.add(contact);
}
我从一个json文件中获取所有数据,我收到的生日如下:
"birth_date":"1965-05-07"
现在,我试图解析年份、月份和日期,并从用户那里获取年龄
for (int i = 0; i < contacts.length(); i++) {
JSONObject c = contacts.getJSONObject(i);
String id = c.getString(TAG_ID);
String name = c.getString(TAG_NAME);
String user_id = c.getString(TAG_USERID);
String birth_date = c.getString(TAG_BIRTH_DATE);
String pic_url_get = c.getString(TAG_IMAGE);
int year = Integer.parseInt(birth_date.substring(0, 4));
int month = Integer.parseInt(birth_date.substring(4, 6));
int day = Integer.parseInt(birth_date.substring(birth_date.length() - 2));
Calendar dateOfYourBirth = new GregorianCalendar(year, month, day);
Calendar today = Calendar.getInstance();
int yourAge = today.get(Calendar.YEAR) - dateOfYourBirth.get(Calendar.YEAR);
dateOfYourBirth.add(Calendar.YEAR, yourAge);
if (today.before(dateOfYourBirth)) {
yourAge--;
}
// tmp hashmap for single contact
HashMap<String, String> contact = new HashMap<String, String>();
// adding each child node to HashMap key => value
contact.put(TAG_ID, id);
contact.put(TAG_NAME, name);
contact.put(TAG_BIRTH_DATE, "Age" + yourAge);
contact.put(TAG_IMAGE, "*******/images/" + user_id + "/" + pic_url_get);
// adding contact to contact list
contactList.add(contact);
}
我如何解决这个问题?不要重新发明:
不要重新发明:
不要重新发明:
不要重新发明:
让我们从您是否实际从用户(
json
object)获取数据开始?
你能把断点放在这根绳子上吗
birth_date = c.getString(TAG_BIRTH_DATE);
您是否获得了
生日
?让我们从您是否实际从用户(json
对象)获得了数据开始?
你能把断点放在这根绳子上吗
birth_date = c.getString(TAG_BIRTH_DATE);
您是否获得了
生日
?让我们从您是否实际从用户(json
对象)获得了数据开始?
你能把断点放在这根绳子上吗
birth_date = c.getString(TAG_BIRTH_DATE);
您是否获得了
生日
?让我们从您是否实际从用户(json
对象)获得了数据开始?
你能把断点放在这根绳子上吗
birth_date = c.getString(TAG_BIRTH_DATE);
你有生日吗?你可以使用Android自己的日期格式化程序
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date birthDate = formatter.parse(birth_date);
您可以使用Android自己的日期格式化程序
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date birthDate = formatter.parse(birth_date);
您可以使用Android自己的日期格式化程序
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date birthDate = formatter.parse(birth_date);
您可以使用Android自己的日期格式化程序
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date birthDate = formatter.parse(birth_date);
出生日期。子字符串(4,6)
-你不是说5,7
?你能打印出出生日期
值吗?似乎值是“null”
(一个值为“null”的字符串)当我打印出生日期时,我收到所有的出生日期,我没有找到空的出生日期出生日期。子字符串(4,6)
-你不是指5,7
?你能打印出出生日期
值吗?似乎值是“null”
(一个值为“null”的字符串)当我打印出生日期时,我收到所有的出生日期,我没有找到空的出生日期出生日期。子字符串(4,6)
-你不是指5,7
?你能打印出出生日期
值吗?似乎值是“null”
(一个值为“null”的字符串)当我打印出生日期时,我收到所有的出生日期,我没有找到空的出生日期出生日期。子字符串(4,6)
-你不是指5,7
?你能打印出出生日期
值吗?似乎值是“null”
(一个值为“null”的字符串)当我打印出生日期时,我收到所有的出生日期,我没有找到空的出生日期我忘记发布字符串:private static final string TAG\u birth\u date=“birth\u date”;我正在获取所有的值,当我打印这些值时,一切正常,问题是parsenti忘记发布字符串:private static final string TAG_BIRTH\u DATE=“BIRTH\u DATE”;我正在获取所有的值,当我打印这些值时,一切正常,问题是parsenti忘记发布字符串:private static final string TAG_BIRTH\u DATE=“BIRTH\u DATE”;我正在获取所有的值,当我打印这些值时,一切正常,问题是parsenti忘记发布字符串:private static final string TAG_BIRTH\u DATE=“BIRTH\u DATE”;我得到了所有的值,当我打印这些值时,一切正常,问题是parseInt