Java计算当前时间处于某段时间内的第几周、第几个月
2023-09-11 14:15:40 时间
直接上代码(注意这里使用了Hutool里面的DateUtil工具类):
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import java.text.ParseException;
import java.util.Date;
public class DateUtilPlus {
public static Integer getWeek(String beginDateStr, String endDateStr) {
DateTime beginDate = DateUtil.parseDate(beginDateStr);
DateTime endDate = DateUtil.parseDate(endDateStr);
DateTime currentDate = DateUtil.dateNew(new Date());
int week = 1;
if (DateUtil.isIn(currentDate, beginDate, endDate)) {
Date endDateOfWeek = DateUtil.endOfWeek(beginDate);
while (!DateUtil.isIn(currentDate, beginDate, endDateOfWeek)) {
++week;
endDateOfWeek = DateUtil.endOfWeek(DateUtil.offsetDay(endDateOfWeek, 1));
}
return week;
}
return null;
}
public static Integer getMonth(String beginDateStr, String endDateStr) {
DateTime beginDate = DateUtil.parseDate(beginDateStr);
DateTime endDate = DateUtil.parseDate(endDateStr);
DateTime currentDate = DateUtil.dateNew(new Date());
int month = 1;
if (DateUtil.isIn(currentDate, beginDate, endDate)) {
Date endDateOfMonth = DateUtil.endOfMonth(beginDate);
while (!DateUtil.isIn(currentDate, beginDate, endDateOfMonth)) {
++month;
endDateOfMonth = DateUtil.endOfMonth(DateUtil.offsetDay(endDateOfMonth, 1));
}
return month;
}
return null;
}
public static void main(String[] args) throws ParseException {
Integer week = DateUtilPlus.getWeek("2020-08-01", "2020-10-31");
Integer month = DateUtilPlus.getMonth("2020-08-01", "2020-10-31");
System.out.println("week--->" + week + " month--->" + month);
}
相关文章
- atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php
- java 8 Streams简介
- java基础—计算: 2012-3-17"到"2012-4-6"中间有多少天?
- java通过当前请求得到访问者ip的工具类
- RabbitMQ: Java code example & Springboot integration
- 最全“Java面试宝典+Java核心知识集”,一箭双雕杠秋招
- 第73节:Java中的HTTPServletReauest和HTTPServletResponse
- Java 加密 base64 encode
- Java中的位运算
- Error running 'dt-assets-monitor [clean]': Cannot run program "C:Program Files (x86)Javajdk1.8.0_73binjava.exe" (in directory "E:codedt-assets-monitor")
- Java 计算两个 LocalDateTime 类型的变量之间差的小时数,保留4位小数
- java入门04---九九乘法表
- java高级用法之:JNA中的Function
- java学习路线-Java技术人员之路从0基础到高级
- Java数据结构与算法 day02 链表
- java实现迷宫算法--转
- Java小白入门200例17之计算整数中的位数
- Java小白入门200例61之java中Date日期类型的大小比较
- Java //PP2.9 将上一题的计算过程反过来编写一个程序。也就是读入一个以秒为单位的时间长度,然后换算成小时、分和秒的组合表达方式并打印输出结果(例如,9999秒等于2小时46分39秒)
- java项目异常监控_JAVA项目中的常用的异常处理情况总结