/**
* 获取任意时间的上一个月
* 描述:<描述函数实现的功能>.
* @param repeatDate
* @return
*/
public static String getLastMonth(String repeatDate) {
String lastMonth = "";
Calendar cal = Calendar.getInstance();
SimpleDateFormat dft = new SimpleDateFormat("yyyyMM");
int year = Integer.parseInt(repeatDate.substring(0, 4));
String monthsString = repeatDate.substring(4, 6);
int month;
if ("0".equals(monthsString.substring(0, 1))) {
month = Integer.parseInt(monthsString.substring(1, 2));
} else {
month = Integer.parseInt(monthsString.substring(0, 2));
}
cal.set(year,month-2,Calendar.DATE);
lastMonth = dft.format(cal.getTime());
return lastMonth;
}
/**
* 获取任意时间的月第一天
* 描述:<描述函数实现的功能>.
* @param repeatDate
* @return
*/
public static String getMinMonthDate(String repeatDate){
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
try {
if(StringUtils.isNotBlank(repeatDate) && !"null".equals(repeatDate)){
calendar.setTime(dft.parse(repeatDate));
}
} catch (ParseException e) {
e.printStackTrace();
}
// calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
return dft.format(calendar.getTime());
}
/**
* 获取任意时间的月的最后一天
* 描述:<描述函数实现的功能>.
* @param repeatDate
* @return
*/
public static String getMaxMonthDate(String repeatDate) {
SimpleDateFormat dft = new SimpleDateFormat("yyyyMMdd");
Calendar calendar = Calendar.getInstance();
try {
if(StringUtils.isNotBlank(repeatDate) && !"null".equals(repeatDate)){
calendar.setTime(dft.parse(repeatDate));
}
} catch (ParseException e) {
e.printStackTrace();
}
// calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return dft.format(calendar.getTime());
}
/**
* 获取指定年月的第一天
* @param year
* @param month
* @return
*/
public static String getFirstDayOfMonth1(int year, int month) {
Calendar cal = Calendar.getInstance();
//设置年份
cal.set(Calendar.YEAR, year);
//设置月份
cal.set(Calendar.MONTH, month-1);
//获取某月最小天数
int firstDay = cal.getMinimum(Calendar.DATE);
//设置日历中月份的最小天数
cal.set(Calendar.DAY_OF_MONTH,firstDay);
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(cal.getTime());
}
/**
* 获取指定年月的最后一天
* @param year
* @param month
* @return
*/
public static String getLastDayOfMonth1(int year, int month) {
Calendar cal = Calendar.getInstance();
//设置年份
cal.set(Calendar.YEAR, year);
//设置月份
cal.set(Calendar.MONTH, month-1);
//获取某月最大天数
int lastDay = cal.getActualMaximum(Calendar.DATE);
//设置日历中月份的最大天数
cal.set(Calendar.DAY_OF_MONTH, lastDay);
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(cal.getTime());
}
/**
* 从当前时间获取上个月的第一天和最后一天
*/
public static void getPreMonthDate(DateInfo dateInfo) {
String startDate = dateInfo.getSomeDay();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = getPreMonth(startDate);
//获取某月最小天数
int firstDay = c.getActualMinimum(Calendar.DAY_OF_MONTH);
//设置日历中月份的最小天数
c.set(Calendar.DAY_OF_MONTH, firstDay);
// 上个月第一天
String startTime = format.format(c.getTime());
dateInfo.setLastStartDay(startTime);
Calendar c2 = getPreMonth(startDate);
int lastDay = c2.getActualMaximum(Calendar.DAY_OF_MONTH);
c2.set(Calendar.DAY_OF_MONTH, lastDay);
String endTime = format.format(c2.getTime());
dateInfo.setLastEndDay(endTime);
}
/**
* 从当前时间"yyyy-MM-dd"格式获取上个月的时间
*/
public static Calendar getPreMonth(String startDate) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date date = null;
try
{
date = format.parse(startDate);
} catch (ParseException e)
{
e.printStackTrace();
}
c.setTime(date);
c.add(Calendar.MONTH, -1);
return c;
}
详细解决方案
java计算某日期的上月的第一天和最后一天
热度:84 发布时间:2024-02-27 03:14:51.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- java web 视频相干
- java 系统单点登录解决方案
- java 获取客户端IP解决办法
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- java 正则化匹配有关问题
- JAVA WEB导航条,该怎么处理
- java 中Node 有关问题
- 吐了,java Timer 终止不了。
- java web开发解决办法
- 关于 java cast 有关问题,你明白不
- java ftp 下传和上载乱码有关问题
- java web项目上的一些文件
- Hibernate操作数据库 报错java.lang.Integer cannot be cast to java.lang.String如何改
- java struts 文件上载
- java web baidu map开发
- JAVA WEB导航条解决办法
- java 编写ftp上载
- java web中的一个有关问题,困扰小弟我很久了
- java web 与tomcat解决办法
- java web基于j2ee的一些有关问题
- java 内网外网的一个需求,该怎么处理
- jsp 页面 安插ArrayList 报错。为什么,已经加了import="java.util."了呀!
- java dwg 怎样用java把dwg便是aoutcad的格式文件转换成gif,jpg等格式
- 求《Java Web 程序设计与项目实践》解决办法
- java webservice解决方法
- java 与jsp,该怎么解决