package com.aptech.jb.util;
import java.util.Date;
import java.util.Scanner;
import java.text.SimpleDateFormat;
public class DateUtil {
/**
* 给定一个小于30的数,返回向后退该天后的日期
*
* @param backDay
* @return
*/
public String getBackDate(int backDay) {
String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
String date = "";
int year = Integer.parseInt((today.split("-"))[0]);
int month = Integer.parseInt((today.split("-"))[1]);
int day = Integer.parseInt((today.split("-"))[2]);
if (day - (backDay - 1) > 0) {
return date + year + "-" + month + "-" + (day - (backDay - 1));
} else {
return date
+ getBackYear(year, month)
+ "-"
+ getLastMonth(month)
+ "-"
+ (getMonthDays(year, getLastMonth(month)) - (backDay - 1 - day));
}
}
/**
* 给定一个小于30的数,返回向前推进该天后的日期
*
* @param forwardDay
* @return
*/
public String getForwardDate(int forwardDay) {
String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
int year = Integer.parseInt((today.split("-"))[0]);
int month = Integer.parseInt((today.split("-"))[1]);
int day = Integer.parseInt((today.split("-"))[2]);
if (day + forwardDay <= 28) {
return "" + year + "-" + month + "-" + (day + forwardDay);
} else {
switch (month) {
case 2:
return "" + getForwardYear(year, month) + "-"
+ getNextMonth(month) + "-"
+ (forwardDay - (getMonthDays(year, month) - day));
case 4:
if (day + forwardDay <= 30) {
return "" + year + "-" + month + "-" + (day + forwardDay);
} else {
return "" + getForwardYear(year, month) + "-"
+ getNextMonth(month) + "-"
+ (forwardDay - (getMonthDays(year, month) - day));
}
case 6:
if (day + forwardDay <= 30) {
return "" + year + "-" + month + "-" + (day + forwardDay);
} else {
return "" + getForwardYear(year, month) + "-"
+ getNextMonth(month) + "-"
+ (forwardDay - (getMonthDays(year, month) - day));
}
case 9:
if (day + forwardDay <= 30) {
return "" + year + "-" + month + "-" + (day + forwardDay);
} else {
return "" + getForwardYear(year, month) + "-"
+ getNextMonth(month) + "-"
+ (forwardDay - (getMonthDays(year, month) - day));
}
case 11:
if (day + forwardDay <= 30) {
return "" + year + "-" + month + "-" + (day + forwardDay);
} else {
return "" + getForwardYear(year, month) + "-"
+ getNextMonth(month) + "-"
+ (forwardDay - (getMonthDays(year, month) - day));
}
default:
if (day + forwardDay <= 31) {
return "" + year + "-" + month + "-" + (day + forwardDay);
} else {
return "" + getForwardYear(year, month) + "-"
+ getNextMonth(month) + "-"
+ (forwardDay - (getMonthDays(year, month) - day));
}
}
}
}
/**
* 制定年,给出是否闰年
*
* @param year
* @return
*/
public boolean isRn(int year) {
if (year % 4 == 0 && !(year % 100 == 0 && year % 400 != 0))
return true;
return false;
}
/**
* 给定月,返回下一个月的月份
*
* @param month
* @return
*/
public int getLastMonth(int month) {
if (month != 1)
return month - 1;
else
return 12;
}
/**
* 给定月,返回上一个月的月份
*
* @param month
* @return
*/
public int getNextMonth(int month) {
if (month != 12)
return month + 1;
else
return 1;
}
/**
* 指定年和月,给出上一个月的年份
*
* @param year
* @param month
* @return
*/
public int getBackYear(int year, int month) {
if (getLastMonth(month) == 12)
return year - 1;
else
return year;
}
/**
* 指定年和月,给出下一个月的年份
*
* @param year
* @param month
* @return
*/
public int getForwardYear(int year, int month) {
if (getNextMonth(month) == 1)
return year + 1;
else
return year;
}
/**
* 制定年和月,给出该月天数
*
* @param year
* @param month
* @return
*/
public int getMonthDays(int year, int month) {
int lastMonthDays = 0;
switch (month) {
case 2:
if (isRn(year))
lastMonthDays = 28;
else
lastMonthDays = 29;
break;
case 4:
lastMonthDays = 30;
break;
case 6:
lastMonthDays = 30;
break;
case 9:
lastMonthDays = 30;
break;
case 11:
lastMonthDays = 30;
break;
default:
lastMonthDays = 31;
}
return lastMonthDays;
}
// private int d = 0 ;
// public int geDay(int year,int month,int backDay){
// if (getMonthDays(year,month) - (backDay - 1) > 0) {
// d = getMonthDays(year,month) - (backDay - 1);
// return d;
// }else{
// geDay(year,month,backDay);
//
// }
// return d;
// }
public static void main(String[] args) {
DateUtil du = new DateUtil();
// for (int m = 1; m <= 12; m++) {
// System.out.println("1900年" + m + "月的天数" + du.getMonthDays(1900, m));
// }
int sign = 1;
Scanner sc = new Scanner(System.in);
while (sign != 0) {
System.out.print("输入一个天数:");
sign = sc.nextInt();
System.out.println(du.getForwardDate(sign));
}
System.out.println("程序退出");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
网上信息发布平台 java+ssh+jsp+sql
共1007个文件
class:307个
java:307个
xml:120个
4星 · 超过85%的资源 需积分: 9 68 下载量 17 浏览量
2010-07-01
09:51:07
上传
评论 2
收藏 4.17MB RAR 举报
温馨提示
网上信息发布平台:语言jsp+ssh+SQL Server;值不值10分。自己可以去看看,就知道 java+ssh+jsp+sql
资源推荐
资源详情
资源评论
收起资源包目录
网上信息发布平台 java+ssh+jsp+sql (1007个子文件)
.checkstyle 300B
FWXXDaoJdbcImpl.class 6KB
FWXXDaoJdbcImpl.class 6KB
FWXXDaoJdbcImpl.class 6KB
TblUserDAO.class 5KB
TblUserDAO.class 5KB
TblUserDAO.class 5KB
FWXXDaoJdbcImpl.class 5KB
JspUtil.class 4KB
JspUtil.class 4KB
JspUtil.class 4KB
JspUtil.class 4KB
DateUtil.class 4KB
DateUtil.class 4KB
PostAction.class 4KB
PostAction.class 4KB
DateUtil.class 4KB
DateUtil.class 4KB
PostAction.class 4KB
FWXXQuery8.class 3KB
FWXXQuery8.class 3KB
FWXXListAction.class 3KB
FWXXQuery8.class 3KB
FWXX.class 3KB
FWXXForm.class 3KB
FWXXForm.class 3KB
FWXXDaoHibImpl.class 3KB
PostAction.class 3KB
FWXXForm.class 3KB
FWXXForm.class 3KB
FWXXListAction.class 3KB
JDDaoJdbcImpl.class 3KB
JDDaoHibImpl.class 3KB
FWXXQuery7.class 3KB
FWXXQuery7.class 3KB
JDDaoJdbcImpl.class 3KB
JDDaoJdbcImpl.class 3KB
FWXXQuery7.class 3KB
FWXX.class 3KB
FWXX.class 3KB
FWXX.class 3KB
FWXXDaoHibImpl.class 3KB
LoginAction2.class 3KB
FWXXModifyAction.class 3KB
FWXXModifyAction.class 3KB
FWXXDaoHibImpl.class 3KB
UserDaoHibImpl.class 3KB
JDDaoJdbcImpl.class 3KB
PostAction2.class 3KB
FWXXListAction.class 3KB
FWXXListAction.class 3KB
BaseHibernateDAO.class 3KB
FWXXQuery4.class 3KB
FWXXQuery4.class 3KB
LoginAction.class 2KB
LoginAction.class 2KB
HibernateSessionFactory.class 2KB
HibernateSessionFactory.class 2KB
FWXXQuery6.class 2KB
FWXXQuery6.class 2KB
Controller.class 2KB
SQLUtil.class 2KB
SQLUtil.class 2KB
QXDaoHibImpl.class 2KB
FWLXDaoHibImpl.class 2KB
FWXXQuery6.class 2KB
FWXXModifyAction.class 2KB
CalcDispatchAction.class 2KB
HibernateSessionFactory.class 2KB
SQLUtil.class 2KB
FWXXQuery.class 2KB
FWXXQuery.class 2KB
FWXXQuery4.class 2KB
UserDaoJdbcImpl.class 2KB
UserDaoJdbcImpl.class 2KB
LoginAction.class 2KB
FWXXModifyAction.class 2KB
QXDaoJdbcImpl.class 2KB
LoginAction.class 2KB
QXDaoJdbcImpl.class 2KB
QXDaoJdbcImpl.class 2KB
FWLXDaoJdbcImpl.class 2KB
TransactionAdvice.class 2KB
TransactionAdvice.class 2KB
FWLXDaoJdbcImpl.class 2KB
FWLXDaoJdbcImpl.class 2KB
FWXXModifyReqAction.class 2KB
FWXXModifyReqAction.class 2KB
FWXXQuery5.class 2KB
FWXXQuery5.class 2KB
QXDaoJdbcImpl.class 2KB
UserDaoJdbcImpl.class 2KB
UserDaoJdbcImpl.class 2KB
FWXXQuery.class 2KB
FWXXQuery.class 2KB
FWXXQuery3.class 2KB
FWXXQuery3.class 2KB
FWXXQuery5.class 2KB
FWXXQuery2.class 2KB
FWXXQuery2.class 2KB
共 1007 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
- crinsn2014-04-08不错的那,可以试一下
- cRaZy-ToKeIo2013-05-13可以下载学习一下,不错的东西
- einreich2014-01-28再有个说明文档就好了
- chaona072408262013-04-07再有个说明文档就好了,看不太明白,为什么有四个工程
wjp_jinping
- 粉丝: 17
- 资源: 216
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功