问题描述:
在使用 Android 的 Calendar.getInstance()
方法获取当前日期时,如果当前时间已经是午夜后的时间,则无法获取到今天的日期。
解决方法:
为了解决这个问题,可以使用 Calendar
类的 add()
方法来进行日期的调整。具体步骤如下:
Calendar
实例:Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
if (hour >= 0 && hour < 5) {
calendar.add(Calendar.DATE, -1); // 将日期调整为昨天
}
这里的判断条件是将午夜后的时间段定义为凌晨到 5 点之间,根据实际需求可以进行调整。
calendar
对象来获取正确的日期:int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
这样就可以获取到今天的日期了。
完整示例代码如下:
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
if (hour >= 0 && hour < 5) {
calendar.add(Calendar.DATE, -1); // 将日期调整为昨天
}
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
这样就可以在任何时间都能正确获取到今天的日期了。