获取指定某一天的前一个月或前一年日期的方法
2011-06-13 16:04
435 查看
例如,指定日期为2010-03-31
前一个月的日期:2010-02-28
前两个月的日期:2010-01-31
前一年的日期:2009-03-31
通过什么方法可以实现?
前一个月的日期:2010-02-28
前两个月的日期:2010-01-31
前一年的日期:2009-03-31
通过什么方法可以实现?
import java.util.Calendar; public class TestGetLastMonth { /** * 获取指定月的前一月(年)或后一月(年) * @param dateStr * @param addYear * @param addMonth * @param addDate * @return 输入的时期格式为yyyy-MM,输出的日期格式为yyyy-MM * @throws Exception */ public static String getLastMonth(String dateStr,int addYear, int addMonth, int addDate) throws Exception { try { java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM"); java.util.Date sourceDate = sdf.parse(dateStr); Calendar cal = Calendar.getInstance(); cal.setTime(sourceDate); cal.add(Calendar.YEAR,addYear); cal.add(Calendar.MONTH, addMonth); cal.add(Calendar.DATE, addDate); java.text.SimpleDateFormat returnSdf = new java.text.SimpleDateFormat("yyyy-MM"); String dateTmp = returnSdf.format(cal.getTime()); java.util.Date returnDate = returnSdf.parse(dateTmp); return dateTmp; } catch (Exception e) { e.printStackTrace(); throw new Exception(e.getMessage()); } } /** * 获取指定月的前一月(年)或后一月(年) * @param dateStr * @param addYear * @param addMonth * @param addDate * @return 输入的时期格式为yyyy-MM-dd,输出的日期格式为yyyy-MM-dd * @throws Exception */ public static String getLastDay(String dateStr,int addYear, int addMonth, int addDate) throws Exception { try { java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date sourceDate = sdf.parse(dateStr); Calendar cal = Calendar.getInstance(); cal.setTime(sourceDate); cal.add(Calendar.YEAR,addYear); cal.add(Calendar.MONTH, addMonth); cal.add(Calendar.DATE, addDate); java.text.SimpleDateFormat returnSdf = new java.text.SimpleDateFormat("yyyy-MM-dd"); String dateTmp = returnSdf.format(cal.getTime()); java.util.Date returnDate = returnSdf.parse(dateTmp); return dateTmp; } catch (Exception e) { e.printStackTrace(); throw new Exception(e.getMessage()); } } /** * 测试 * @param args */ public static void main(String[] args) { try{ System.out.println(TestGetLastMonth.getLastMonth("2011-06",0,-1,0));//2011-05 System.out.println(TestGetLastMonth.getLastMonth("2011-06",0,-6,0));//2010-12 System.out.println(TestGetLastMonth.getLastMonth("2011-06",-1,0,0));//2010-06 }catch (Exception e) { } } }
相关文章推荐
- 获取指定某一天的前一个月或前一年日期的方法
- java获取指定日期所在周的第一天和最后一天
- 获取每个月的最后一天的当前日期以及前一个月的当前日期,外加23:59:59
- Util工具类 获取指定月份的天数以及最后一天的日期
- php获取指定日期的前一天,前一月,前一年日期
- Java 获取指定日期的方法总结
- PHP获取指定日期是星期几的实现方法
- 获取指定日期的第一天和最后一天
- php 获取指定日期所在月份的最后一天
- java 根据指定日期获取前一天或者后一天的日期 比较日期大小
- js中使用eval()方法将字符串转换成日期格式、并获取指定时间的日期
- C#获取上个月第一天和最后一天日期的方法
- MySQL获取当前日期的前一个月的最后一天
- Java 获取指定日期的方法总结
- JavaScript-获取固定格式日期(2016-05-22)以及"连续"获取前一天、后一天的方法总结
- mysql 获取当前日期,前一天,后一天方法及时间格式化 wordpress 后台头部添加气泡通知
- Java 获取指定日期的实现方法总结
- PHP获取指定月份第一天和最后一天的方法
- JS获取两个日期工作日相差的小时数(不包含周末)----可以指定一天的上班时间
- oracle 获取指定日期的第一天和最后一天