您的位置:首页 > 编程语言 > Java开发

Java日期的加减问题

2014-03-25 09:03 453 查看
日报选择时候,日期类型不一致,存储过程是datetime类型输入,而数据表中deal_time是smalldatetime类型,所以smalldatetime between 输入的那两个类型datetime.

jsp页面可供输入的都是date类型,如2013-11-15,传递到java类中为string类型数据,需要进行时间的相加,则考虑为string字符串相加,形式为jsp传递回的date+空格+hh:mm:ss,这样才能实现date变化为datetime类型数据的目的。

选择起始日期:2013-11-15 2013-11-16

选择月:2013-10-20 2013-11-19

选择周:2013-11-11 2013-11-18

publicsynchronized TimeVO getBEDay(String time, String st, String et){

//time是标志位,标志是哪一种选择

TimeVO tvo= new TimeVO();

if ("1".equals(time)){

//日报

String begindt = st+""+"00:00:00";

String enddt = et+""+"23:59:59";

tvo.setStartday(begindt);

tvo.setEndday(enddt);

}else if("2".equals(time)){

//周报,截止日期等于选定日期加上7天

String begindt = st+""+"00:00:00";

tvo.setStartday(begindt);

Date date=null;

Calendar c =Calendar.getInstance();

try {

date = newSimpleDateFormat("yyyy-MM-dd").parse(st);

} catch (ParseException e) {

e.printStackTrace();

}

c.setTime(date);

int day = c.get(Calendar.DATE);

c.set(Calendar.DATE, day + 7);

String weekday = newSimpleDateFormat("yyyy-MM-dd").format(c.getTime());

String enddt = weekday+""+"00:00:00";

tvo.setEndday(enddt);

}else if("3".equals(time)){

//月报

tvo=dao.getBEDay(st, et);

}else if("4".equals(time)){

String begindt = st+""+"00:00:00";

String enddt = et+""+"00:00:00";

tvo.setStartday(begindt);

tvo.setEndday(enddt);

System.out.println(begindt+enddt);

}

return tvo;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: