【发布时间】:2018-09-12 22:19:04
【问题描述】:
好的,所以我创建了一个函数来显示距离未来某个日期的天数...在天数超过 9 天之前它是正确的.. 如果超过它似乎显示一个随机数天...请在下面查看我的代码:
public String daysTillExpire() {
String daysLeft = "";
int position = 0 ;
String inputDateString = UIDM.get(position).date;
Calendar calCurr = Calendar.getInstance();
Calendar day = Calendar.getInstance();
try {
day.setTime(new SimpleDateFormat("dd-MM-yyyy").parse(inputDateString));
} catch (ParseException e) {
e.printStackTrace();
}
if (day.after(calCurr)) {
String noumberOfDays = "Days left: " + (day.get(Calendar.DAY_OF_MONTH) - (calCurr.get(Calendar.DAY_OF_MONTH)));
daysLeft = UIDM.get(position).date + "\n(" + noumberOfDays+")" ;
}
else if (day.before(calCurr)) {
daysLeft = "Key Expired";
return daysLeft; }
return daysLeft;
}
UIDM 是一个包含信息的数据模型...String inputDateString = UIDM.get(position).date; 返回值01-10-2018 23:59。
【问题讨论】:
-
什么是“UIDM”?
-
UIDM 是一个包含信息的数据模型... 'String inputDateString = UIDM.get(position).date;返回值为 '01-10-2018 23:59'
-
顺便考虑一下扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。 -
好的,谢谢推荐,我去研究一下,
-
仅供参考,
java.util.Date、java.util.Calendar和java.text.SimpleDateFormat等麻烦的旧日期时间类现在已被 java.time 类所取代。大多数 java.time 功能在 ThreeTen-Backport 项目中被反向移植到 Java 6 和 Java 7。在ThreeTenABP 项目中进一步适用于早期的Android。见How to use ThreeTenABP…。
标签: android date java-time date-difference android-date