java日期操作类,获取当前时间的一些范围属性。
包含开始时间结束时间,开始和结束日期也可以单独来使用。

当前季度的时间范围
昨天的时间范围
前月份的时间范围
上个月的时间范围
上个季度的时间范围
当前日期上个季度的最后一天

结果实例:

当前日期:20210414
昨天的时间范围: 20210413 - 20210413
当前月份的时间范围: 20210401 - 20210430
当前季度的时间范围: 20210401 - 20210630
上个月的时间范围: 20210301 - 20210331
上个季度的时间范围: 20210101 - 20210331
当前日期上个季度的最后一天: 20210331

DateUtils.java

package DateUtils;import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;/***    @author    xxz*    @Description: 获取:当前季度的时间范围/昨天的时间范围/当前月份的时间范围/上个月的时间范围/上个季度的时间范围*    @Date 2021年4月13日    **/
public class DateUtils {/*** 获取date的月份的时间范围* @param date* @return*/public static DateRange getMonthRange(Date date) {Calendar startCalendar = Calendar.getInstance();startCalendar.setTime(date);startCalendar.set(Calendar.DAY_OF_MONTH, 1);setMaxTime(startCalendar);Calendar endCalendar = Calendar.getInstance();endCalendar.setTime(date);endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));setMaxTime(endCalendar);return new DateRange(startCalendar.getTime(), endCalendar.getTime());}/*** 获取当前季度的时间范围* @return current quarter*/public static DateRange getThisQuarter() {Calendar startCalendar = Calendar.getInstance();startCalendar.set(Calendar.MONTH, ((int) startCalendar.get(Calendar.MONTH) / 3) * 3);startCalendar.set(Calendar.DAY_OF_MONTH, 1);setMinTime(startCalendar);Calendar endCalendar = Calendar.getInstance();endCalendar.set(Calendar.MONTH, ((int) startCalendar.get(Calendar.MONTH) / 3) * 3 + 2);endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));setMaxTime(endCalendar);return new DateRange(startCalendar.getTime(), endCalendar.getTime());}/*** 获取昨天的时间范围* @return*/public static DateRange getYesterdayRange() {Calendar startCalendar = Calendar.getInstance();startCalendar.add(Calendar.DAY_OF_MONTH, -1);setMinTime(startCalendar);Calendar endCalendar = Calendar.getInstance();endCalendar.add(Calendar.DAY_OF_MONTH, -1);setMaxTime(endCalendar);return new DateRange(startCalendar.getTime(), endCalendar.getTime());}/*** 获取当前月份的时间范围* @return*/public static DateRange getThisMonth(){Calendar startCalendar = Calendar.getInstance();startCalendar.set(Calendar.DAY_OF_MONTH, 1);setMinTime(startCalendar);Calendar endCalendar = Calendar.getInstance();endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));setMaxTime(endCalendar);return new DateRange(startCalendar.getTime(), endCalendar.getTime());}/*** 获取上个月的时间范围* @return*/public static DateRange getLastMonth(){Calendar startCalendar = Calendar.getInstance();startCalendar.add(Calendar.MONTH, -1);startCalendar.set(Calendar.DAY_OF_MONTH, 1);setMinTime(startCalendar);Calendar endCalendar = Calendar.getInstance();endCalendar.add(Calendar.MONTH, -1);endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));setMaxTime(endCalendar);return new DateRange(startCalendar.getTime(), endCalendar.getTime());}/*** 获取上个季度的时间范围* @return*/public static DateRange getLastQuarter() {Calendar startCalendar = Calendar.getInstance();startCalendar.set(Calendar.MONTH, ((int) startCalendar.get(Calendar.MONTH) / 3 - 1) * 3);startCalendar.set(Calendar.DAY_OF_MONTH, 1);setMinTime(startCalendar);Calendar endCalendar = Calendar.getInstance();endCalendar.set(Calendar.MONTH, ((int) endCalendar.get(Calendar.MONTH) / 3 - 1) * 3 + 2);endCalendar.set(Calendar.DAY_OF_MONTH, endCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));setMaxTime(endCalendar);return new DateRange(startCalendar.getTime(), endCalendar.getTime());}private static void setMinTime(Calendar calendar){calendar.set(Calendar.HOUR_OF_DAY, 0);calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);}private static void setMaxTime(Calendar calendar){calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));calendar.set(Calendar.MILLISECOND, calendar.getActualMaximum(Calendar.MILLISECOND));}public final static String DEFAULT_PATTERN = "MM/dd/yyyy HH:mm:ss";public static String format(Date date){SimpleDateFormat sdf = new SimpleDateFormat(DEFAULT_PATTERN);return sdf.format(date);}public static void main(String[] args) {SimpleDateFormat DateUtilsTemp = new SimpleDateFormat("yyyyMMdd");String data = DateUtilsTemp.format(new Date());System.out.println("当前日期:"+data);DateRange yesterdayRange = getYesterdayRange();System.out.println("昨天的时间范围: "+DateUtilsTemp.format(yesterdayRange.getStart())+" - "+DateUtilsTemp.format(yesterdayRange.getEnd()));DateRange thisMonth = getThisMonth();System.out.println("当前月份的时间范围: "+DateUtilsTemp.format(thisMonth.getStart())+" - "+DateUtilsTemp.format(thisMonth.getEnd()));DateRange currentQuarter = getThisQuarter();System.out.println("当前季度的时间范围: "+DateUtilsTemp.format(currentQuarter.getStart())+" - "+DateUtilsTemp.format(currentQuarter.getEnd()));DateRange lastMonth = getLastMonth();System.out.println("上个月的时间范围: "+DateUtilsTemp.format(lastMonth.getStart())+" - "+DateUtilsTemp.format(lastMonth.getEnd()));DateRange lastQuarter = getLastQuarter();System.out.println("上个季度的时间范围: "+DateUtilsTemp.format(lastQuarter.getStart())+" - "+DateUtilsTemp.format(lastQuarter.getEnd()));System.out.println("当前日期上个季度的最后一天: "+DateUtilsTemp.format(lastQuarter.getEnd()));}
}

DateRange.java

package DateUtils;import java.util.Date;/***    @author    xxz*    @Description: TODO(用一句话描述该文件做什么)*    @Date 2021年4月13日    **/
public class DateRange {private Date start;private Date end;public DateRange(Date start, Date end) {this.start = start;this.end = end;}public Date getStart() {return start;}public void setStart(Date start) {this.start = start;}public Date getEnd() {return end;}public void setEnd(Date end) {this.end = end;}
}

java获取当前日期对应的时间范围相关推荐

  1. Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

    Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...

  2. 如何使用Java获取当前日期/时间

    用Java获取当前日期/时间的最佳方法是什么? #1楼 采用: String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss") ...

  3. java获取当前日期和时间的二种方法分享

    有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.*; import j ...

  4. java获取当前日期 星期几_java获取当前日期是星期几的方法

    java获取当前日期是星期几的方法 发布时间:2020-06-29 11:16:15 来源:亿速云 阅读:133 作者:Leah 本篇文章为大家展示了java获取当前日期是星期几的方法,代码简明扼要并 ...

  5. java获取当前日期 前后 几个月的 日期期间 往前 2个月 往后 2个月

    java获取当前日期 前后 几个月的 日期期间 需要原因 返回的String 格式 private Map<String,String> getDuringDate(){SimpleDat ...

  6. Java获取当前日期的前一天

    Java获取当前日期的前一天 //获取当前日期Date date = new Date();//格式转换SimpleDateFormat f = new SimpleDateFormat(" ...

  7. java获取当前日期的下一天,以后的第n天

    java获取当前日期的下一天,以后的第n天 public static void main(String[] args) {System.out.println(getDate()); } priva ...

  8. java获取当前日期时间代码

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 代码如下   Date date = new Date ...

  9. java获取当前日期(JAVA获取当前日期的前三天工作日)

    在java里怎么取离当前日期最近的一个星期天??知道getNow import java.util.Calendar; import java.util.Date; public class Test ...

最新文章

  1. oracle基础-基本的查询,以及pl/sql登录
  2. DB2 SQL查询结果集自动编号、返回条数范围控制研究
  3. 8086标志操作指令
  4. HDU计算机网络系统2021复习提纲
  5. android 顶部标签切换,Android实现底部切换标签
  6. 新建Mybatis工程
  7. linux有两种工作界面,Linux 向用户提供了两种界面:用户界面和系统调用。
  8. Cannot forward after response has been committed问题解决及分析
  9. SpringBoot: 注解@Autowired
  10. 基于Discuz的原生态MVC框架Uxf
  11. 解决Windows上编译PHP7.1拓展的错误
  12. 改进的冒泡排序算法一
  13. 面试记录:题都没答就走了
  14. 【免疫优化物流选址】基于MATLAB的免疫优化算法在物流配送中心选址中的应用仿真
  15. xp系统能不能安装mysql_XP系统如何安装SQL2005?XP系统安装SQL2005图文教程
  16. 二、JAVA第一行代码
  17. facebook轮播视频_如何设置Facebook Messenger Messenger视频通话
  18. 影视后期调色一般都会用到什么?
  19. 高防是互联网攻击宠儿的救星?你选对了吗?
  20. Linux磁盘存储和文件系统

热门文章

  1. wsl Linux子系统和windows主机文件系统互相访问方法
  2. saltstack pillar设置iptables
  3. MySQL中的日期时间类型与格式化方式
  4. 编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
  5. Amazon S3 API java uitl
  6. Unity 4.6 bate 20 or 4.5.5 +vuforia3.0.9 发布到真机错误 解决
  7. 大学同学要退学了,我该怎么做?
  8. jQuery动画详解
  9. C#开发WAP程序(转)
  10. 用计算机算出来的爱你一生一世,励志语录 等待一次爱你一生一世,需要我用一辈子来爱你...