【发布时间】:2019-07-13 07:32:18
【问题描述】:
我只希望它从当前时间显示到一天结束时增加 30 分钟
前今天时间是上午 09:46
对于该特定日期,它应该显示为10:00AM,10:30AM,11:00AM....11:30PM。
但在我的代码中,它从 00:00...23:30 显示一整天。
这是我的代码:
SimpleDateFormat df = new SimpleDateFormat("HH:mm");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
int startDate = cal.get(Calendar.DATE);
while (cal.get(Calendar.DATE) == startDate) {
Log.d("time","currenttime"+cal.getTime());
cal.add(Calendar.MINUTE, 30);
}
【问题讨论】:
-
SimpleDateFormat和Calendar设计不佳且早已过时。考虑将ThreeTenABP 添加到您的Android 项目中,而不是使用它们,以便使用java.time, the modern Java date and time 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…。 -
当您处理一个敏感的现实生活项目时,您必须考虑 100 次才能导入外部库来执行简单的功能,更不用说由通用 Github 帐户提供的库了。例如,在某些国家/地区,您在开发医疗应用程序时不能参考通用库(它可能不符合法规要求,因此不会得到卫生当局的批准)
标签: android date calendar simpledateformat