【发布时间】:2020-05-27 05:15:41
【问题描述】:
它是一个年龄计算器项目我需要知道如何在 android studio 中将多个 EditText 值转换为一个日期字符串?请记住,我使用的是“joda-time library”,它没有显示结果。我不知道我在哪里做错了!我已经忘记了我现在无法解决的所有问题,希望你们能帮助我。谢谢
public void dateOfBirth(){
String day = editTextDay.getText().toString().trim();
String month = editTextMonth.getText().toString().trim();
String year = editTextYear.getText().toString().trim();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
String sDate = day+"/"+month+"/"+year;
long date = System.currentTimeMillis();
String eDate = simpleDateFormat.format(date);
try {
Date date1 = simpleDateFormat.parse(sDate);
Date date2 =simpleDateFormat.parse(eDate);
/* long eDate = System.currentTimeMillis();
Date date2 = simpleDateFormat.parse(String.valueOf((eDate)));*/
long startDate = date1.getTime();
long endDate =date2.getTime();
if (startDate<=endDate){
Period period = new Period(startDate, endDate, PeriodType.yearMonthDay());
int years = period.getYears();
int months =period.getMonths();
int days = period.getDays();
textViewDay.setText(days);
textViewMonth.setText(months);
textViewYear.setText(years);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
【问题讨论】:
-
您应该向
setText提供一个字符串。请改用textViewDay.setText(String.valueOf(days));。 -
我对您的评论感到有些困惑,请您向我解释一下更多细节。
-
由于您使用的是 Joda-Time,我建议您全力以赴,忘记那些设计糟糕且麻烦的课程
Date和SimpleDateFormat。 Joda-Time 的性能要好得多,它提供了您需要的所有功能。 -
请说明您的代码的预期结果以及观察到的结果有何不同。从字面上引用任何错误消息。 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误以及在问题本身中重现它所需的最短代码。(来自@ 987654321@)
标签: android datetime android-edittext jodatime android-jodatime