java获取当前日期对应的时间范围
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获取当前日期对应的时间范围相关推荐
- Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...
- 如何使用Java获取当前日期/时间
用Java获取当前日期/时间的最佳方法是什么? #1楼 采用: String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss") ...
- java获取当前日期和时间的二种方法分享
有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.*; import j ...
- java获取当前日期 星期几_java获取当前日期是星期几的方法
java获取当前日期是星期几的方法 发布时间:2020-06-29 11:16:15 来源:亿速云 阅读:133 作者:Leah 本篇文章为大家展示了java获取当前日期是星期几的方法,代码简明扼要并 ...
- java获取当前日期 前后 几个月的 日期期间 往前 2个月 往后 2个月
java获取当前日期 前后 几个月的 日期期间 需要原因 返回的String 格式 private Map<String,String> getDuringDate(){SimpleDat ...
- Java获取当前日期的前一天
Java获取当前日期的前一天 //获取当前日期Date date = new Date();//格式转换SimpleDateFormat f = new SimpleDateFormat(" ...
- java获取当前日期的下一天,以后的第n天
java获取当前日期的下一天,以后的第n天 public static void main(String[] args) {System.out.println(getDate()); } priva ...
- java获取当前日期时间代码
1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 代码如下 Date date = new Date ...
- java获取当前日期(JAVA获取当前日期的前三天工作日)
在java里怎么取离当前日期最近的一个星期天??知道getNow import java.util.Calendar; import java.util.Date; public class Test ...
最新文章
- oracle基础-基本的查询,以及pl/sql登录
- DB2 SQL查询结果集自动编号、返回条数范围控制研究
- 8086标志操作指令
- HDU计算机网络系统2021复习提纲
- android 顶部标签切换,Android实现底部切换标签
- 新建Mybatis工程
- linux有两种工作界面,Linux 向用户提供了两种界面:用户界面和系统调用。
- Cannot forward after response has been committed问题解决及分析
- SpringBoot: 注解@Autowired
- 基于Discuz的原生态MVC框架Uxf
- 解决Windows上编译PHP7.1拓展的错误
- 改进的冒泡排序算法一
- 面试记录:题都没答就走了
- 【免疫优化物流选址】基于MATLAB的免疫优化算法在物流配送中心选址中的应用仿真
- xp系统能不能安装mysql_XP系统如何安装SQL2005?XP系统安装SQL2005图文教程
- 二、JAVA第一行代码
- facebook轮播视频_如何设置Facebook Messenger Messenger视频通话
- 影视后期调色一般都会用到什么?
- 高防是互联网攻击宠儿的救星?你选对了吗?
- Linux磁盘存储和文件系统
热门文章
- wsl Linux子系统和windows主机文件系统互相访问方法
- saltstack pillar设置iptables
- MySQL中的日期时间类型与格式化方式
- 编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
- Amazon S3 API java uitl
- Unity 4.6 bate 20 or 4.5.5 +vuforia3.0.9 发布到真机错误 解决
- 大学同学要退学了,我该怎么做?
- jQuery动画详解
- C#开发WAP程序(转)
- 用计算机算出来的爱你一生一世,励志语录 等待一次爱你一生一世,需要我用一辈子来爱你...