使用java的Calendar对象获得当前日期的上几个度开始、结束时间

思路:

先获得当前季度的开始和结束日期,在当前日期的基础上往前推3个月即上个季度的开始和结束日期

/**
	 * @param flag true:开始日期;false:结束日期
	 * @return
	 */
	public static String getLastQuarterTime(boolean flag){
		SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");
		SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

		String resultDate="";
		Date now = null;
		try {
			Calendar calendar = Calendar.getInstance();
			int currentMonth = calendar.get(Calendar.MONTH) + 1;
			//true:开始日期;false:结束日期
			if(flag){
				if (currentMonth >= 1 && currentMonth <= 3)
					calendar.set(Calendar.MONTH, 0);
				else if (currentMonth >= 4 && currentMonth <= 6)
					calendar.set(Calendar.MONTH, 3);
				else if (currentMonth >= 7 && currentMonth <= 9)
					calendar.set(Calendar.MONTH, 6);
				else if (currentMonth >= 10 && currentMonth <= 12)
					calendar.set(Calendar.MONTH, 9);
				calendar.set(Calendar.DATE, 1);

				now = longSdf.parse(shortSdf.format(calendar.getTime()) + " 00:00:00");
			}else{
				if (currentMonth >= 1 && currentMonth <= 3) {
					calendar.set(Calendar.MONTH, 2);
					calendar.set(Calendar.DATE, 31);
	            } else if (currentMonth >= 4 && currentMonth <= 6) {
	            	calendar.set(Calendar.MONTH, 5);
	            	calendar.set(Calendar.DATE, 30);
	            } else if (currentMonth >= 7 && currentMonth <= 9) {
	            	calendar.set(Calendar.MONTH, 8);
	            	calendar.set(Calendar.DATE, 30);
	            } else if (currentMonth >= 10 && currentMonth <= 12) {
	            	calendar.set(Calendar.MONTH, 11);
	            	calendar.set(Calendar.DATE, 31);
	            }
				now = longSdf.parse(shortSdf.format(calendar.getTime()) + " 23:59:59");
			}
			calendar.setTime(now);// 设置日期
			calendar.add(Calendar.MONTH, -3);
			resultDate = longSdf.format(calendar.getTime());

		} catch (Exception e) {
			;
		}
		return resultDate;
	}

  

时间: 2024-10-05 15:02:25

使用java的Calendar对象获得当前日期的上几个度开始、结束时间的相关文章

java中Calendar日期对象

转帖网上简介 Calendar c = Calendar.getInstance();//创建实例 默认是当前时刻 c.get(Calendar.YEAR); c.get(Calendar.MONTH); c.get(Calendar.DATE);//获取年,月,日 当然时分秒也可以 注意这里的月份比较特殊 从0开始 c.get(Calendar.DAY_OF_WEEK);//获取当前日期在星期中的第几天 从1-7对应 日-六 c.getActualMaximum(Calendar.DAY_OF

Java API —— Calendar类

1.Calendar类概述  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法. 2.成员方法      public static Calendar getInstance():初始化,返回子类对象 public int get(int field):返回给定日历字段的值 public void add(int field,int am

Java 中Calendar、Date、SimpleDateFormat学习总结

在之前的项目中,经常会遇到Calendar,Date的一些操作时间的类,并且总会遇到时间日期之间的格式转化问题,虽然做完了但是总是忘记,记不清楚,每次还都要查找资料.今天总结一下,加深印象. Calendar Calendar是java.util 包下面的一个抽象类,它为特定瞬间与一组诸如YEAR.MONTH.DAY_OF_MONTH.HOUR等日历字段之间的转换提供了一些方法,并未操作日历字段(例如获得下星期的日期)提供了一些方法.瞬间值可用毫秒值来表示,它是距格林威治标准时间 1970 年1

JAVA学习--Calendar 类的应用

Calendar 类的应用 Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理. java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

Java.util.Calendar类简单介绍

Java.util.Calendar类 Calendar类是一个抽象类,里面提供了很多操作日历的方法.Calendar类无法直接创建对象使用,需要利用里面的一个静态方法getInstance(),该方法返回一个Calendar对象(子类对象).该静态方法使用默认时区和语言环境获取一个日历.这个静态方法是必须知道的否则根本玩不转Calendar. 1.Calendar类中的常量 Calendar cal = Calendar.getInstance(); cal.get(Calendar.DATE

java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月

import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import org.junit.Test; public class TestDateUtil { //1.获取当月第一天 @Test public void testForDate(){ //规定返回日期格式 SimpleDateFormat sf=ne

Calendar 对象的使用实例

1.Calendar demo例子 JavaCalendar 类时间操作,示范代码. public class CalendarDemo { private static SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); public static void main(String[] args) { //获取calendar实例; Calendar calendar = Calend

转——JAVA中calendar,date,string 的相互转换和详细用法

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("现在时间

java.util.Calendar简介

java.util.Calendar简介 一般写为:import java.util.Calendar;在开头 然后在中间写上, Calendar cal = Calendar.getInstance(); int year=cal.get(Calendar.YEAR); int month=cal.get(Calendar.MONTH);就可以了: Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是