如何计算“昨天,今天”…
private void setDateTime(TextView tvDate, TextView tvTime, long timeMillis) {
Calendar currentCalendar = Calendar.getInstance()
Calendar dstCalendar = Calendar.getInstance()
dstCalendar.setTimeInMillis(timeMillis)
int deltaYears = currentCalendar.get(Calendar.YEAR) - dstCalendar.get(Calendar.YEAR)
int deltaMonths = currentCalendar.get(Calendar.MONTH) - dstCalendar.get(Calendar.MONTH)
int deltaDays = currentCalendar.get(Calendar.DAY_OF_MONTH)
- dstCalendar.get(Calendar.DAY_OF_MONTH)
if (deltaYears > 0) {
tvDate.setText(String.format(Locale.CHINA, "%04d年%02d月%02d日",
dstCalendar.get(Calendar.YEAR), dstCalendar.get(Calendar.MONTH) + 1,
dstCalendar.get(Calendar.DAY_OF_MONTH)))
} else if (deltaYears == 0 && deltaDays > 1) {
tvDate.setText(String.format(Locale.CHINA, "%02d月%02d日", dstCalendar.get(Calendar.MONTH) + 1,
dstCalendar.get(Calendar.DAY_OF_MONTH)))
} else if (deltaYears == 0 && deltaMonths == 0 && deltaDays == 1) {
tvDate.setText(String.format(Locale.CHINA, "昨天"))
} else {
tvDate.setText("")
}
tvTime.setText(String.format(Locale.CHINA, "%02d:%02d", dstCalendar.get(Calendar.HOUR_OF_DAY),
dstCalendar.get(Calendar.MINUTE)))
}