java - 如何检查日期是否属于本周?

标签 java android date

我将日期和时间存储在首选项中:Long :

// put
SharedPreferences settings =
    PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
settings.edit().putLong("pref_datetime", System.currentTimeMillis()).commit();
// get
Date date2 = new Date(settings.getLong("pref_datetime", 0));

提取日期后,如何检查它是否属于本周(从星期一开始)?

最佳答案

您可以使用 Calendar 实例根据当前日期创建本周一和下周一 Date 实例,然后检查您的日期是否位于它们之间。

Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);

c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);

Date monday = c.getTime();

Date nextMonday= new Date(monday.getTime()+7*24*60*60*1000);

boolean isThisWeek = date2.after(monday) && date2.before(nextMonday);

关于java - 如何检查日期是否属于本周?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23930216/

相关文章:

java - 为什么要转换一个已经被标识为特定类的对象?

java - Android 上的 Spring Boot?

android - 使用带有 firebase 的 Item Menu,SignOut 在 Fragment 中不起作用

java - Android PCM转Ulaw编码wav文件

android - 如何跟踪 Android 应用程序中的内存泄漏

r - 按索引(日期)拆分 xts 对象

java - 适用于移动设备的 Android Fragments(或其他东西)

java - if 语句的复杂性

date - 获取上周一日期

javascript - Moment.js .isBefore 将日期与时区偏移量进行比较