计算特定日期的前一天和后一天,根据输入的月,日获取该月日属于什么季节
2016-10-31 15:43
746 查看
/**
* 获取特定日期的后一天
* @param strDate
* @return
* @throws ParseException
*/
public static String getTomorrow(String strDate) throws ParseException{
Calendar c = Calendar.getInstance();
Date date=null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day=c.get(Calendar.DATE);
c.set(Calendar.DATE,day+1);
String dayAfter=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayAfter;
}
/**
* 获取特定日期的前一天
* @param strDate
* @return
*/
public static String getYesterday(String strDate){
Calendar c = Calendar.getInstance();
Date date=null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day=c.get(Calendar.DATE);
c.set(Calendar.DATE,day-1);
String dayBefore=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayBefore;
}
/**
* 根据输入的月份,日期获取改月日属于什么季节
* @param monthIn
* @param dayIn
* @return
*/
SEASON:
1、早春(2.1-3.15)
2、春季(3.16-5.31)
3、夏季(6.1-9.15)
4、秋季(9.16-.11.15)
5、冬季(11.16-1.31)
public static String getSeasonValue(int monthIn, int dayIn) {
String result = "";
String month = "";
String day = "";
if (monthIn < 10)
month = "0" + String.valueOf(monthIn);
else
month = String.valueOf(monthIn);
if (dayIn < 10)
day = "0" + String.valueOf(dayIn);
else
day = String.valueOf(dayIn);
String date = month + day;
if (date.compareTo("0201") >= 0 && date.compareTo("0315") <= 0)
result = "1";
else if (date.compareTo("0316") >= 0 && date.compareTo("0531") <= 0)
result = "2";
else if (date.compareTo("0601") >= 0 && date.compareTo("0915") <= 0)
result = "3";
else if (date.compareTo("0916") >= 0 && date.compareTo("1115") <= 0)
result = "4";
else if ((date.compareTo("1116") >= 0 && date.compareTo("1231") <= 0)
|| (date.compareTo("0101") >= 0 && date.compareTo("0131") <= 0))
result = "5";
else
result = "Error!";// 输入的的日期格式有错误
return result;
}
测试main方法
public static void main(String[] args) throws ParseException {
System.out.println(DateUtils.getTomorrow("2016-10-31"));
System.out.println(DateUtils.getYesterday("2016-10-31"));
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DATE);
int month = cal.get(Calendar.MONTH) + 1;
System.out.println(getSeasonValue(month, day));
}
* 获取特定日期的后一天
* @param strDate
* @return
* @throws ParseException
*/
public static String getTomorrow(String strDate) throws ParseException{
Calendar c = Calendar.getInstance();
Date date=null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day=c.get(Calendar.DATE);
c.set(Calendar.DATE,day+1);
String dayAfter=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayAfter;
}
/**
* 获取特定日期的前一天
* @param strDate
* @return
*/
public static String getYesterday(String strDate){
Calendar c = Calendar.getInstance();
Date date=null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day=c.get(Calendar.DATE);
c.set(Calendar.DATE,day-1);
String dayBefore=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayBefore;
}
/**
* 根据输入的月份,日期获取改月日属于什么季节
* @param monthIn
* @param dayIn
* @return
*/
SEASON:
1、早春(2.1-3.15)
2、春季(3.16-5.31)
3、夏季(6.1-9.15)
4、秋季(9.16-.11.15)
5、冬季(11.16-1.31)
public static String getSeasonValue(int monthIn, int dayIn) {
String result = "";
String month = "";
String day = "";
if (monthIn < 10)
month = "0" + String.valueOf(monthIn);
else
month = String.valueOf(monthIn);
if (dayIn < 10)
day = "0" + String.valueOf(dayIn);
else
day = String.valueOf(dayIn);
String date = month + day;
if (date.compareTo("0201") >= 0 && date.compareTo("0315") <= 0)
result = "1";
else if (date.compareTo("0316") >= 0 && date.compareTo("0531") <= 0)
result = "2";
else if (date.compareTo("0601") >= 0 && date.compareTo("0915") <= 0)
result = "3";
else if (date.compareTo("0916") >= 0 && date.compareTo("1115") <= 0)
result = "4";
else if ((date.compareTo("1116") >= 0 && date.compareTo("1231") <= 0)
|| (date.compareTo("0101") >= 0 && date.compareTo("0131") <= 0))
result = "5";
else
result = "Error!";// 输入的的日期格式有错误
return result;
}
测试main方法
public static void main(String[] args) throws ParseException {
System.out.println(DateUtils.getTomorrow("2016-10-31"));
System.out.println(DateUtils.getYesterday("2016-10-31"));
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DATE);
int month = cal.get(Calendar.MONTH) + 1;
System.out.println(getSeasonValue(month, day));
}
相关文章推荐
- [置顶] js日期处理---计算自然月、指定自然月某一天、获取前一天和后一天、判断闰年、当月最后一天日期、月末最后一天
- js计算输入日期的前一天,后一天(上一日,下一日)。兼容safari
- java 根据指定日期获取前一天或者后一天的日期 比较日期大小
- 用户输入一个日期,计算时星期几,并计算时一年中的某一天,使用自定义方法判断
- 黑马程序员—编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, *程序计算这一天是星期几,并且计算出是一年中的第几天。 */
- 根据用户输入的二代身份证号码自动为其计算生成出生日期的javascript方法
- 定义日期类,根据输入的日期计算明天日期,上机实践--我的c++之路
- C#关于日期 月 天数 和一年有多少周及根据某年某周获取时间段的相关计算
- 黑马程序员 测试题:编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- java日期获取前一天和后一天
- 根据日期计算属于第几周(周日是一周的第一天)
- 获取输入日期前后一天
- 输入一个日期,计算前一天的日期
- 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- 根据输入的日期获取人民币汇率
- C#关于日期 月 天数 和一年有多少周及根据某年某周获取时间段的计算
- Calendar根据输入的年份和周数计算该周的开始日期和结束日期
- SQL - 根据一日期获取该月的第一天和最后一天
- mysql 获取当前日期,前一天,后一天方法及时间格式化 wordpress 后台头部添加气泡通知
- 根据输入日期获取此日期所在日期范围