Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
生活随笔
收集整理的這篇文章主要介紹了
Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java 獲取當前時間之后的第一個周幾,java獲取當前日期的下一個周幾
//獲得入參的日期
Calendar cd = Calendar.getInstance();
cd.setTime(date);// 獲得入參日期是一周的第幾天
int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);
// 獲得入參日期相對于下周一的偏移量(在國外,星期一是一周的第二天,所以下周一是這周的第九天)
// 若入參日期是周日,它的下周一偏移量是1
int nextMondayOffset = dayOfWeek == 1 ? 1 : 9 - dayOfWeek;
// 設置不同的日期只要使用不同的偏移量即可
// 周二: val nextWednesdayOffset = if (dayOfWeek < 3) 3-dayOfWeek else 10 - dayOfWeek
// 周三: val nextWednesdayOffset = if (dayOfWeek < 4) 4-dayOfWeek else 11 - dayOfWeek
// 周四: val nextWednesdayOffset = if (dayOfWeek < 5) 5-dayOfWeek else 12 - dayOfWeek
// 周五: val nextWednesdayOffset = if (dayOfWeek < 6) 6-dayOfWeek else 13 - dayOfWeek
// 周六: val nextWednesdayOffset = if (dayOfWeek < 7) 7-dayOfWeek else 14 - dayOfWeek
// 周日: val nextWednesdayOffset = if (dayOfWeek == 1) 0 else 8 - dayOfWeek// 增加到入參日期的下一個周幾那天
cd.add(Calendar.DAY_OF_MONTH, nextMondayOffset);
return cd.getTime();
因為CSDN需要登錄復制代碼框,我把核心代碼放在這里:
// 設置不同的日期只要使用不同的偏移量即可
// 周二: val nextWednesdayOffset = if (dayOfWeek < 3) 3-dayOfWeek else 10 - dayOfWeek
// 周三: val nextWednesdayOffset = if (dayOfWeek < 4) 4-dayOfWeek else 11 - dayOfWeek
// 周四: val nextWednesdayOffset = if (dayOfWeek < 5) 5-dayOfWeek else 12 - dayOfWeek
// 周五: val nextWednesdayOffset = if (dayOfWeek < 6) 6-dayOfWeek else 13 - dayOfWeek
// 周六: val nextWednesdayOffset = if (dayOfWeek < 7) 7-dayOfWeek else 14 - dayOfWeek
// 周日: val nextWednesdayOffset = if (dayOfWeek == 1) 0 else 8 - dayOfWeek
另外,還可以設置 時分秒,增加以下代碼即可
// 設置 03:00:00
cd.set(Calendar.HOUR_OF_DAY,3)
cd.set(Calendar.MINUTE, 0)
cd.set(Calendar.SECOND, 0)
cd.set(Calendar.MILLISECOND, 0)
總結
以上是生活随笔為你收集整理的Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes 中 设置pod不部
- 下一篇: Kubectl 常用命令, 开发人员常用