思路:

先获得当前季度的开始和结束日期,在当前日期的基础上往前推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;}

  

转载于:https://www.cnblogs.com/qadada/p/4614692.html

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

  1. java获取一年的周数、单周开始时间与结束时间、一年所有周开始时间与结束时间、月开始时间与结束时间

    java获取一年的周数.单周开始时间与结束时间.一年所有周开始时间与结束时间.月开始时间与结束时间 package com.frgk.produce.util;import org.springfra ...

  2. Java类与对象详细讲解(上)

    目录 一.类与对象的概念 1.1  什么是面向对象 1.2  什么是对象 1.3  什么是类 二.类与对象的定义 2.1  类的创建 2.2  对象的创建 2.3  练习创建两个dog对象,定义其属性 ...

  3. Calendar获取当前季度、月、周的开始时间结束时间

    java在很多场合下会根据当前时间计算本季度的开始时间结束时间.当前月份的开始时间结束时间.当前周的开始时间以及结束时间.我这里整理下一个时间加工类,作为工具类记录下. 一.获取计算相关时间的方法如下 ...

  4. android 通过当前日期获取这个礼拜的开始时间和结束时间

    /*** 获取这个礼拜的开始和结束时间* @return*/ public static Map<String, String> getDayWeek() {Map<String, ...

  5. 获取当前日期的上一个月,获取当前时间

    // 获取当前日期的上一个月 export function getlastMonth(date) {const dattiem = GetDateTime();var arr = dattiem.s ...

  6. calendar java起始于结束时间,java获取一天的开始时间和一天的结束时间

    java获取一天的开始时间和一天的结束时间,这个例子真的经常写,每次都要去网上搜一下,真是现在写下来 public class CalenderTest { public static void ma ...

  7. Java 日期工具类(今天、昨天、本周、上周、本月、上月、本年及特定时间的开始时间和结束时间)

    timestamp格式的部分 /*** 获取当天的开始时间* @return Timestamp* @author LoveEmperor_王子様* date: 2019/8/15 15:50*/pu ...

  8. 为什么Java会给system报错_java – 为什么将System.nanoTime()转换为Calendar对象会给我错误的当前日期?...

    如果我理解正确,使用System.nanoTime()是一种比System.currentTimeInMillis()更准确地保持当前时间标记的方法,即使系统时间已更改.那么为什么当我将nanoTim ...

  9. java日期减天数_使用Java中的Calendar.DATE从当前日期减去天数

    为Java中的Calendar类导入以下软件包.import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期.Calendar calendar = Cale ...

最新文章

  1. 【整理】Linux驱动中,probe函数何时被调用
  2. 计算机系统结构总概,计算机系统结构概论
  3. asp.net core 3.x Endpoint终结点路由1-基本介绍和使用
  4. H3C 帧中继初级配置(二)
  5. document 文挡对象详解(JavaScript脚本语言描述)
  6. 剪板机自动上下料_江苏弗迈斯桁架机械手自动上下料
  7. 软考:项目中的常见问题
  8. canvas 实现刮刮乐
  9. python劣势_Ruby对比Python的优势和劣势
  10. 计算机应用教研室工作计划,高校教研室工作计划
  11. C语言中的运算符大全(内附优先级表)
  12. CloneZilla再生龙 | 打造自己的深度学习镜像
  13. SCI论文写作高频词汇短语汇总
  14. c语言之数据类型长度
  15. input输入密码的时候调用纯数字键盘和加密,js弹出键盘
  16. 浏览器打不开网页 服务器停止响应怎么办,浏览器打不开未响应怎么办
  17. 为什么OSPF在广播网络里面,DD和LSR采用单播,而LSU hello采用组播。
  18. 大数据会给我们带来什么影响?
  19. 2022年厦门大学计算机考研复试分数线多少
  20. 医疗实施-EMPI(患者主索引)

热门文章

  1. 感恩有你,链客一周年!
  2. 区块链热度不减 应用风险不容忽视
  3. github创建静态页面_如何在10分钟内使用GitHub Pages创建免费的静态站点
  4. 我如何使用深度学习通过Fast.ai对医学图像进行分类
  5. 把canvas放在盒子内_如何将您的专业知识放在盒子中并出售
  6. Windows下的DNS命令用法
  7. 相关性分析p值_一行代码掌握皮尔逊相关分析,洞察变量关系
  8. (C++)除基取余法:将十进制数转化为Q进制数
  9. 神经网络基础知识梳理
  10. 制作ui设计作品集要注意哪些