/**

* 某一个月第一天和最后一天

*

* @param date 指定日期

* @param pattern 日期格式

* @param isNeedHms是否需要时分秒

* @return

*/

public static Map getFirstLastDayByMonth(Date date,

String pattern, boolean isNeedHms) {

SimpleDateFormat df = new SimpleDateFormat(pattern);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

Date theDate = calendar.getTime();

// 第一天

GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();

gcLast.setTime(theDate);

gcLast.set(Calendar.DAY_OF_MONTH, 1);

String day_first = df.format(gcLast.getTime());

StringBuffer str = new StringBuffer().append(day_first);

if (isNeedHms)

str.append(" 00:00:00");

day_first = str.toString();

// 最后一天

calendar.add(Calendar.MONTH, 1); // 加一个月

calendar.set(Calendar.DATE, 1); // 设置为该月第一天

calendar.add(Calendar.DATE, -1); // 再减一天即为上个月最后一天

String day_last = df.format(calendar.getTime());

StringBuffer endStr = new StringBuffer().append(day_last);

if (isNeedHms)

endStr.append(" 23:59:59");

day_last = endStr.toString();

Map map = new HashMap();

map.put("first", day_first);

map.put("last", day_last);

return map;

}

/**

* 获取当前季度

*

*/

public static String getQuarter() {

Calendar c = Calendar.getInstance();

int month = c.get(c.MONTH) + 1;

int quarter = 0;

if (month >= 1 && month <= 3) {

quarter = 1;

} else if (month >= 4 && month <= 6) {

quarter = 2;

} else if (month >= 7 && month <= 9) {

quarter = 3;

} else {

quarter = 4;

}

return quarter + "";

}

/**

* 获取某季度的第一天和最后一天

*@param num第几季度

*/

public static String[] getCurrQuarter(int num) {

String[] s = new String[2];

String str = "";

// 设置本年的季

Calendar quarterCalendar = null;

switch (num) {

case 1: // 本年到现在经过了一个季度,在加上前4个季度

quarterCalendar = Calendar.getInstance();

quarterCalendar.set(Calendar.MONTH, 3);

quarterCalendar.set(Calendar.DATE, 1);

quarterCalendar.add(Calendar.DATE, -1);

str = DateUtils.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd");

s[0] = str.substring(0, str.length() - 5) + "01-01";

s[1] = str;

break;

case 2: // 本年到现在经过了二个季度,在加上前三个季度

quarterCalendar = Calendar.getInstance();

quarterCalendar.set(Calendar.MONTH, 6);

quarterCalendar.set(Calendar.DATE, 1);

quarterCalendar.add(Calendar.DATE, -1);

str = DateUtils.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd");

s[0] = str.substring(0, str.length() - 5) + "04-01";

s[1] = str;

break;

case 3:// 本年到现在经过了三个季度,在加上前二个季度

quarterCalendar = Calendar.getInstance();

quarterCalendar.set(Calendar.MONTH, 9);

quarterCalendar.set(Calendar.DATE, 1);

quarterCalendar.add(Calendar.DATE, -1);

str = DateUtils.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd");

s[0] = str.substring(0, str.length() - 5) + "07-01";

s[1] = str;

break;

case 4:// 本年到现在经过了四个季度,在加上前一个季度

quarterCalendar = Calendar.getInstance();

str = DateUtils.formatDate(quarterCalendar.getTime(), "yyyy-MM-dd");

s[0] = str.substring(0, str.length() - 5) + "10-01";

s[1] = str.substring(0, str.length() - 5) + "12-31";

break;

}

return s;

}

/**

* 用途:以指定的格式格式化日期字符串

* @param pattern 字符串的格式

* @param currentDate 被格式化日期

* @return String 已格式化的日期字符串

* @throws NullPointerException 如果参数为空

*/

public static String formatDate(Date currentDate, String pattern){

if(currentDate == null || "".equals(pattern) || pattern == null){

return null;

}

SimpleDateFormat sdf = new SimpleDateFormat(pattern);

return sdf.format(currentDate);

}

java季度第一天_java获取某月,某季度的第一天和最后一天相关推荐

  1. java 月第一天_java获取当前月第一天和最后一天

    获取当前月第一天: /** * 获取当前月第一天 * @param month * @return */ public static String getFirstDayOfMonth(int mon ...

  2. java 1个月前_java获取一个月前的时间

    java获取一个月前的时间 方法一: SimpleDateFormat formatter = new SimpleDateFormat( "yyyyMMdd" ); Date c ...

  3. java按季还款_Java 获取指定日期范围内的每个月,每季度,每一年

    /** *根据时间范围获得月份集 * @return */ public static List getRangeSet(String beginDate,String endDate){ /*    ...

  4. java 字符串编程题_Java编程题——在一个字符串中查找第一个非重复的字符

    编写一个Java程序来查找一个字符串中第一个非重复的字符,这是在编程测试中很常见的一个问题,因为字符串处理在程序员面试中是一个普遍的话题.面试前最好是准备好一些熟知的编程问题,例如使用递归反转字符串, ...

  5. java 获取秒数_Java获取精确到秒的时间戳(转)

    1.时间戳简介: 时间戳的定义:通常是一个字符序列,唯一地标识某一刻的时间.数字时间戳技术是数字签名技术一种变种的应用.是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01 ...

  6. java 获取季度第一天_Java获取当天、本周、本月、本季度、本年等 开始及结束时间...

    package com.zhaochao.utils; import java.text.SimpleDateFormat; import java.util.Calendar; import jav ...

  7. java 获取本年第一天_java获取年份的第一天和最后一天

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. package com.dada.test; import java.text.Simpl ...

  8. java 一周的第一天_Java获取某年某周的第一天

    Java获取某年某周的第一天 1.设计源代码 FirstDayOfWeek.java: /** * @Title:FirstDayOfWeek.java * @Package:com.you.free ...

  9. java 获取第一帧_java获取视频的第一帧

    //------------maven配置文件--------------- org.bytedeco javacv 0.8 /** * 获取指定视频的帧并保存为图片至指定目录 * @param vi ...

最新文章

  1. 公证服务信息_使用多个公证员提高网络吞吐量
  2. ejb 2.0 3.0_Java EE 6测试第I部分– EJB 3.1可嵌入API
  3. Qt中修改应用程序和标题栏的图标
  4. 根据屏幕大小加载css,css根据屏幕大小切换样式
  5. Flutter透明度渐变动画Opacity实现透明度渐变动画效果
  6. Ubuntu安装特定版本安装包
  7. Android沉浸式(侵入式)标题栏(状态栏)Status(三)
  8. paip.session的调试in php
  9. 多体系统的量子理论,多体系统的量子场论
  10. 电力-输配电知识汇总
  11. 2019ug最新版本是多少_UG在2019年隆重发布最新版本,让你我都想不到的是..........
  12. 计算机常用英语单词(带音标)
  13. QString 转toLatin1 toUtf8 toLocal8Bit区别
  14. java 兔子问题_Java算法之“兔子问题”
  15. PicPick截图神器使用体验
  16. 中国科研人员开发出“蚁群”微型机器人
  17. matlab 三维立体图,利用matlab将三维数据画成三维立体图
  18. angular前后台通讯-笔记(1)
  19. GD32F450芯片管脚排列图
  20. 谷歌浏览器提示:您要访问的网站包含恶意软件(解决方案)

热门文章

  1. 给企业管理者的忠告《原则》作者瑞·达利欧
  2. coos2d 类详细之 CCTextFieldTTF
  3. SQL语句中的DQL、DML、DCL、DDL、CCL、TPL
  4. 卷妹的面试小抄每日更新Day1
  5. 35-网站实现邮件发送
  6. 明景移动式视频智能摘要检索分析系统
  7. Altium Designer 18中的Schematic–General
  8. HTML导航条的功能描述,ps制作网页导航条 忘了写文字描述就发了,步骤为:
  9. 高仿淘宝和聚美优品商城详情页实现《IT蓝豹》
  10. MPC5744P-DMA模块及SPI DMA发送