zoukankan      html  css  js  c++  java
  • 使用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;
    	}
    

      

  • 相关阅读:
    bzoj2818
    bzoj1901
    bzoj1010
    loj6277
    bzoj1001
    bzoj1787
    选项卡
    日期选择器
    去掉文本框的外边框
    bootstarp 模态框大小尺寸的控制
  • 原文地址:https://www.cnblogs.com/qadada/p/4614692.html
Copyright © 2011-2022 走看看