Rav*_*mar 4 android date date-comparison
我得到的当前日期如下:
public void getCurrentDate(View view) {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat mdformat = new SimpleDateFormat("yyyy / MM / dd ");
String strDate = "Current Date : " + mdformat.format(calendar.getTime());
display(strDate);
}
private void display(String num) {
TextView textView = (TextView) findViewById(R.id.current_date_view);
textView.setText(num);
}
Run Code Online (Sandbox Code Playgroud)
但我想检查该日期是否是今天的日期。但我不知道如何检查。
您可以按照@aliaksei的答案进行操作,效果很好。但在 Android 中,如果 java.time 不可用,您也可以使用java.time(API 级别 26)或ThreetenABP 。
但首先您必须考虑“今天的日期”是相对的这一事实。现在,此时此刻,世界各地可能正处于不同的“今天”。在美洲和欧洲,现在是 4 月 10 日,但在太平洋的某些地区,已经是 4 月 11 日了。
您可以选择特定的时区,或者只使用设备的区域,我认为就是这种情况。在这种情况下,只需使用 JVM 默认时区即可。
然后使用 ThreetenABP 将 转换Calendar为 a LocalDate,然后与今天的日期进行比较:
// calendar I want to check
Calendar cal = ...
// convert to LocalDate
LocalDate date = DateTimeUtils.toZonedDateTime(cal).toLocalDate();
// compare with today (now() is using the JVM default timezone)
if (date.isEqual(LocalDate.now(ZoneId.systemDefault()))) {
// today
}
Run Code Online (Sandbox Code Playgroud)