java - 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"};
解决方案
推荐阅读
- angular - 子路由路径可以在 Angular 9 路由中的辅助/辅助路由中工作吗?
- mysql - 通过从 MySQL 中的其中一个表中选择 MAX(differ_key) 在特定键上连接 2 个表
- python - Graphviz Python 绘制 C-Net,线连接边,边上的点
- react-native - 图像未在其容器 React Native 顶部对齐
- android - 当 Flutter 中的“TextFormfield”成为焦点时,“OnWillpop”不起作用
- c - 我对这个 C 程序如何工作的理解正确吗?
- reactjs - 在 React-testing-library 中模拟 window.close()
- flutter - 当我使用 Flutter 在云 Firestore 中检索我的文档数组时,出现错误,例如列表不是字符串的子类型
- arrays - jq输出空字符串时bash readarray -t数组赋值的问题
- c# - ASP.NET Core 中的健康检查