java取当前周期、月初至月末、季度初至季度末日期
Calendar calendar = new GregorianCalendar(); // 1. 当前登陆日期的周一至周五的日期 比如 现在是2012-06-11 周一是2012-06-11 周五就是 2012-06-15。 calendar.set(Calendar.DAY_OF_WEEK, 2); System.out.println("登录日期的周一:" + print(calendar.getTime())); // 2.星期五,第六天s calendar.set(Calendar.DAY_OF_WEEK, 6); System.out.println("登录日期的周五:" + print(calendar.getTime())); // 3.当前月的第一天 calendar.set(Calendar.DAY_OF_MONTH, 1); System.out.println("当前月的第一天:" + print(calendar.getTime())); // 4.当前月的最后一天 calendar.add(Calendar.MONTH, 1); calendar.set(Calendar.DAY_OF_MONTH, 0); System.out.println("当前月的最后一天:" + print(calendar.getTime())); // 季度初 calendar.setTime(new Date()); int month = getQuarterInMonth(calendar.get(Calendar.MONTH), true); calendar.set(Calendar.MONTH, month); calendar.set(Calendar.DAY_OF_MONTH, 1); System.out.println("当季度的第一天:" + print(calendar.getTime())); // 季度末 calendar.setTime(new Date()); month = getQuarterInMonth(calendar.get(Calendar.MONTH), false); calendar.set(Calendar.MONTH, month + 1); calendar.set(Calendar.DAY_OF_MONTH, 0); System.out.println("当前时间的季度末:" + print(calendar.getTime())); } private static String print(Date d) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return df.format(d); } // 返回第几个月份,不是几月 // 季度一年四季, 第一季度:2月-4月, 第二季度:5月-7月, 第三季度:8月-10月, 第四季度:11月-1月 private static int getQuarterInMonth(int month, boolean isQuarterStart) { int months[] = { 1, 4, 7, 10 }; if (!isQuarterStart) { months = new int[] { 3, 6, 9, 12 }; } if (month >= 2 && month <= 4) return months[0]; else if (month >= 5 && month <= 7) return months[1]; else if (month >= 8 && month <= 10) return months[2]; else return months[3]; }
二、/** * 获取指定日期所在周的周一 * @Methods Name getMonday * @return Date */ public Date getMonday(Date date){ Calendar cDay = Calendar.getInstance(); cDay.setTime(date); cDay.set(Calendar.DAY_OF_WEEK, 2);//老外将周日定位第一天,周一取第二天 return cDay.getTime(); } /** * 获取指定日期所在周日 * @Methods Name getSunday * @return Date */ public Date getSunday(Date date){ Calendar cDay = Calendar.getInstance(); cDay.setTime(date); if(Calendar.DAY_OF_WEEK==cDay.getFirstDayOfWeek()){ //如果刚好是周日,直接返回 return date; }else{//如果不是周日,加一周计算 cDay.add(Calendar.DAY_OF_YEAR, 7); cDay.set(Calendar.DAY_OF_WEEK, 1); System.out.println(cDay.getTime()); return cDay.getTime(); } } /** * 得到本月第一天的日期 * @Methods Name getFirstDayOfMonth * @return Date */ public Date getFirstDayOfMonth(Date date) { Calendar cDay = Calendar.getInstance(); cDay.setTime(date); cDay.set(Calendar.DAY_OF_MONTH, 1); System.out.println(cDay.getTime()); return cDay.getTime(); } /** * 得到本月最后一天的日期 * @Methods Name getLastDayOfMonth * @return Date */ public Date getLastDayOfMonth(Date date) { Calendar cDay = Calendar.getInstance(); cDay.setTime(date); cDay.set(Calendar.DAY_OF_MONTH, cDay.getActualMaximum(Calendar.DAY_OF_MONTH)); System.out.println(cDay.getTime()); return cDay.getTime(); } /** * 得到本季度第一天的日期 * @Methods Name getFirstDayOfQuarter * @return Date */ public Date getFirstDayOfQuarter(Date date) { Calendar cDay = Calendar.getInstance(); cDay.setTime(date); int curMonth = cDay.get(Calendar.MONTH); if (curMonth >= Calendar.JANUARY && curMonth <= Calendar.MARCH){ cDay.set(Calendar.MONTH, Calendar.JANUARY); } if (curMonth >= Calendar.APRIL && curMonth <= Calendar.JUNE){ cDay.set(Calendar.MONTH, Calendar.APRIL); } if (curMonth >= Calendar.JULY && curMonth <= Calendar.AUGUST) { cDay.set(Calendar.MONTH, Calendar.JULY); } if (curMonth >= Calendar.OCTOBER && curMonth <= Calendar.DECEMBER) { cDay.set(Calendar.MONTH, Calendar.OCTOBER); } cDay.set(Calendar.DAY_OF_MONTH, cDay.getActualMinimum(Calendar.DAY_OF_MONTH)); System.out.println(cDay.getTime()); return cDay.getTime(); } /** * 得到本季度最后一天的日期 * @Methods Name getLastDayOfQuarter * @return Date */ public Date getLastDayOfQuarter(Date date) { Calendar cDay = Calendar.getInstance(); cDay.setTime(date); int curMonth = cDay.get(Calendar.MONTH); if (curMonth >= Calendar.JANUARY && curMonth <= Calendar.MARCH){ cDay.set(Calendar.MONTH, Calendar.MARCH); } if (curMonth >= Calendar.APRIL && curMonth <= Calendar.JUNE){ cDay.set(Calendar.MONTH, Calendar.JUNE); } if (curMonth >= Calendar.JULY && curMonth <= Calendar.AUGUST) { cDay.set(Calendar.MONTH, Calendar.AUGUST); } if (curMonth >= Calendar.OCTOBER && curMonth <= Calendar.DECEMBER) { cDay.set(Calendar.MONTH, Calendar.DECEMBER); } cDay.set(Calendar.DAY_OF_MONTH, cDay.getActualMaximum(Calendar.DAY_OF_MONTH)); System.out.println(cDay.getTime()); return cDay.getTime(); }
java取当前周期、月初至月末、季度初至季度末日期相关推荐
- 取上个月的月初和月末
package com.lehecai.core.thread; import com.lehecai.core.util.CoreDateUtils; import java.util.Calend ...
- java取当前周期、月初至月末、季度初至季度末日期。
一. Calendar calendar = new GregorianCalendar(); // 1. 当前登陆日期的周一至周五的日期 比如 现在是2012-06-11 周一是2012-06-11 ...
- java获取下一季末_java取当前周期、月初至月末、季度初至季度末日期。
常用日历操作辅助类 @author steven 2010-08-10 @email:qing.tan@iwode.com */ public class CalendarUtil { private ...
- oracle获取年初年末,月初月末,季度初季度末
1 --年初,年末 2 select trunc(sysdate,'yyyy') from dual; 3 select add_months(trunc(sysdate,'yyyy'),12) - ...
- java获取年初年末_Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间...
package com.zrar.date; import java.util.Calendar; /** * * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为St ...
- java获取月末日期_Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间详解...
package com.zrar.date; import java.util.Calendar; /** * * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为St ...
- Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间
package com.zrar.date;2 import java.util.Calendar;3 /**4 * 5 * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回 ...
- Java取得:月初,月末
Java代码 package vivi.test; import java.util.Calendar; /** * * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均 ...
- oracle中判断是否为季末,Oracle中取月初,月末,季初,季末及年初,年末时间总结...
在工作中通常会用到月初,月末,季初,季末,年初及年末的时间,在这里做一个简单的总结: 1.取周的开始时间和结束时间: 开始时间(以星期一为开始时间): SQL> select tr ...
最新文章
- 为SharePoint网站创建自定义导航菜单
- javascript Date类型 学习笔记
- git jenkins 子目录_在Jenkins中,如何将项目签出到特定目录(使用GIT)
- 找零钱问题系列之暴力搜索
- asp探针,用来检测Web服务器相关特性
- PB入门:基础语法与操作
- 渗透测试(445端口)
- 网络冗余备份之VRRP技术备份网关(上)
- 西安交大计算机专业考研复试,2018西安交通大学计算机考研复试分数线_计算机考研分数线...
- CNGI高校驻地网IPv6用户数量排名
- Ruby Rails开发资源
- Elasticsearch浅尝搜索
- php检索本地文件,神器:不仅秒搜本地文件,还能1秒在线检索文献!
- 视觉SLAM:一直在入门,从未到精通
- 《Android进阶指北》进阶必备,今日送出8本
- C++设计模式——装饰模式(高屋建瓴)
- 夜光 带你走进设计模式(四)
- Android 11.0 无源码apk授予QUERY_ALL_PACKAGES权限
- linux系统安装搜狗输入法
- WPS2019参考文献如何引用