如何检查日期是否为今天

时间:2018-04-09 18:40:33

标签: 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);
}

但我想检查日期是否是今天的日期。但我没有得到如何检查。

2 个答案:

答案 0 :(得分:2)

你可以做@ aliaksei的回答,这很好。但是在Android中,如果java.time不可用,您还可以使用java.time(API级别26)或ThreetenABP

但首先你必须考虑“今天的日期”是相对的这一事实。现在,在这个时刻,世界的每个部分都可能处于不同的“今天”。在美国和欧洲,它是4月10日,但在太平洋的某些地方已经是4月11日了。

您可以选择特定的时区,或者只使用设备的区域,我认为就是这种情况。在这种情况下,只需使用JVM默认时区。

然后您使用ThreetenABP将var app = angular.module('ngApp', []); app.controller('myCtrl', function ($scope, $http) { $scope.marker = null; $scope.map = null; function initMap() { $scope.map = new google.maps.Map(document.getElementById('map'), { zoom: 4}); } $http.get('url') .then(function (response) { console.log(response) $scope.names = response; $scope.marker = new google.maps.Marker( { map: $scope.map, position:new google.maps.LatLng($scope.names.lat, $scope.names.longitude), title: 'Hello World!' } ); }); initMap(); }); 转换为Calendar,然后与今天的日期进行比较:

LocalDate

答案 1 :(得分:0)

public static boolean isSameDay(Calendar cal1, Calendar cal2) {
    if (cal1 == null || cal2 == null) {
        throw new IllegalArgumentException("The dates must not be null");
    }
    return (cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA) &&
            cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) &&
            cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR));
}

或者您可以使用此代码段来自的DateUtils类:)