1. 2016/11/24

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* 需求2014-01-01之前的月不变,年份改成2017; 2014-01-01之后的月不变,年份改成+3
*/
public class CalendarTest {
public static void main(String[] args) throws Exception {
System.out.println(formatCraftDate("2015-05-04")); //May 2018
System.out.println(formatCraftDate("2011-05-04")); //May 2017
} private static String formatCraftDate(String dateStr) throws Exception{
String resultDateStr = null;
String stardardDateStr = "2014-01-01";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date stardardDate = dateFormat.parse(stardardDateStr);
Date date = dateFormat.parse(dateStr); //传过来的日期
Calendar calendar = Calendar.getInstance();
if (date.before(stardardDate)) { // 2013-01-01 before 2014-01-01 为true, 月份不变,年统统改成2017
calendar.setTime(date);
resultDateStr = convertMonth(calendar.get(Calendar.MONTH)) + " 2017";
} else { // 2017-01-01 before 2014-01-01 为false , 月份不变,年份加+3
calendar.setTime(date);
calendar.add(Calendar.YEAR, 3);
resultDateStr = convertMonth(calendar.get(Calendar.MONTH)) +" " + calendar.get(Calendar.YEAR);
}
return resultDateStr;
}
public static String convertMonth(int month) {
if (month == 0) return "January";
if (month == 1) return "February";
if (month == 2) return "March";
if (month == 3) return "April";
if (month == 4) return "May";
if (month == 5) return "June";
if (month == 6) return "July";
if (month == 7) return "August";
if (month == 8) return "September";
if (month == 9) return "October";
if (month == 10) return "November";
if (month == 11) return "December";
return null;
}
}

sell-- Calendar 和 Date- 01,月份不变年份+3或直接到2017的更多相关文章

  1. Java Date实现加一天,年月日类推往后+1,日期+1,月份+1,年份+1

    System.out.println("String类型 "+endDate); //页面传递到后台的时间 为String类型 SimpleDateFormat sdf = new ...

  2. Java 时间类-Calendar、Date、LocalDate/LocalTime

    1.Date 类 java.util.Date是一个"万能接口",它包含日期.时间,还有毫秒数,如果你只想用java.util.Date存储日期,或者只存储时间,那么,只有你知道哪 ...

  3. Java 中Calendar、Date、SimpleDateFormat学习总结

    在之前的项目中,经常会遇到Calendar,Date的一些操作时间的类,并且总会遇到时间日期之间的格式转化问题,虽然做完了但是总是忘记,记不清楚,每次还都要查找资料.今天总结一下,加深印象. Cale ...

  4. java中的日期操作Calendar和Date

    1. Calendar转Date Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); 2. Date ...

  5. Time.MONTH及Calendar.MONTH 默认的月份为 0-11

    Time.MONTH及Calendar.MONTH 默认的月份为  0-11 所以使用的时候要自己加1.

  6. Calendar /String /Date 转换

    Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDate ...

  7. Calendar代替Date常用方法小记

    业务逻辑中遇到日期的相关操作,整理一下小做总结 日期操作离不开 java.util.Calendar 和 java.util.Date ,实体类中日期字段设计也可能用到java.sql.Date.但目 ...

  8. java输入月份,年份,显示对应月份的天数,

    总结:1,输入月份,年份,这需要用Scanner   2.我们已知道12个月份的天数,有30天,31天   3.判断闰年 用switch -case-break语句  4.注意不要忘了写break;判 ...

  9. calendar merge date

    calendar merge date componentDidMount () { const { monthDays, // monthDates, } = this.props; const d ...

随机推荐

  1. 【BZOJ】1066: [SCOI2007]蜥蜴(最大流)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1066 本题想一想应该懂了的. 我们想啊,,每个点都有限制,每个点都可以跳到另一个有限制的点,每个有蜥 ...

  2. HDU 4419 Colourful Rectangle(线段树+扫描线)

    题目链接 主要是pushup的代码,其他和区间更新+扫描线差不多. 那个区间如果要再刷一层x,那么sum[x][rt] = que[r+1] - que[l];但是如果原本有颜色为i,颜色将会变成i| ...

  3. UiAutomator 测试工程开发小结

    一.    关于bundle无法导入中文参数 答:    将文件改为UTF-8格式 二.    关于对无法抓取的控件进行快速输入问题 答:    主要通过pressKeyCode方法,首先将光标锁定在 ...

  4. C# 使用 GetOleDbSchemaTable 检索架构信息(表、列、主键等)

    本文演示如何用 ADO.NET 中 OleDbConnection 对象的 GetOleDbSchemaTable 方法检索数据库架构信息.数据源中的架构信息包括数据库或可通过数据库中的数据源.表和视 ...

  5. IE6不支持li:hover的解决办法,一句代码让IE6支持li:hover

    如果不是因为工作需要,我根本不会理会IE6的兼容问题,甚至我都不想理会IE的所有内核,不过IE9用了下,我还是重新对IE报以期待的.话题扯远了,下面回到话题上来吧.这次要说的内容就是,如果让IE支持l ...

  6. QAction QActionGroup QMenu 使用方法

    在Qt中,QAction,QActionGroup 和 QMenu类用用来操作软件的菜单栏的,比如很多软件都有文件菜单,里面有打开,保存,另存为之类的选项,在Qt中就是通过这几个类来实现的.或者是在菜 ...

  7. Windows下PHPUnit安装

    收藏的介绍地址 1.手动方式安装示例:http://blog.sina.com.cn/s/blog_5d3dc0110100ghlo.html2.通过Pear安装示例:blog.sina.com.cn ...

  8. HDU 1043 & POJ 1077 Eight(康托展开+BFS+预处理)

    Eight Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30176   Accepted: 13119   Special ...

  9. Javascript 笔记与总结(2-6)var

    [例] <script> window.str = 'abc'; function t1(){ function t2(){ str = 'xyz'; alert(str); } t2() ...

  10. Unknown collation: 'utf8mb4_unicode_ci'

    日前给一个政府机关做个小的门户网站,用的是wordpress+主题开发,部署时发现导入数据库sql文本时出现Unknown collation: 'utf8mb4_unicode_ci'的错误,查了下 ...