首页 > 解决方案 > Java 日历没有得到正确的星期几

问题描述

我目前正在开发需要处理日期、时间等的应用程序。我遇到了一个非常简单的问题:从给定日期(以毫秒为单位)获取正确的星期几。我确定当前日期的给定时间(以毫秒为单位)是正确的,问题在于_calendar变量返回的日期是给定日期后的一天。

我尝试过使用 Java 中的 DateFormat 或其他日期处理类,但我当前的 android 应用程序最小 API 是 22。

private void getDayOfTheWeek(Long dateInMillis) {
    Date _date = new Date();
    _date.setTime(dateInMillis);
    Calendar _calendar = Calendar.getInstance();
    _calendar.setTime(_date);
    mDayOfTheWeek = mDaysOfTheWeek[_calendar.get(Calendar.DAY_OF_WEEK) - 1];
    Log.d("FirebaseDay", mDayOfTheWeek + "; " + _calendar.getTimeInMillis());
}

例如,对于日期: 1564088400000 它应该返回:5,即星期五,尽管记录的值 _calendar.getTimeInMillis()与给定的值相同

编辑:问题不在于它返回一个数字,我有一个字符串数组,mDaysOfTheWeek它在收到整数后的第二天得到我_calendar。6 是返回的结果。

private final String[] mDaysOfTheWeek
        = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; 

标签: javaandroid

解决方案



推荐阅读