【java】时间 减 天数 怎么写在jsp里面 2016-07-04 减去7天
日期怎么和数做减法啊
2016-07-04减去7天
这样的一个表达式要怎么写 要求减完之后 是string类型接收
给指点一下
回答
基本思路:2016-07-04
是一个字符串,应该把它转换为秒为单位的整数,然后减去 7 * 24 * 60 * 60s
,在转换回日期的字符串。
java的写法:
String s = "2016-07-04";SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd");
Date d;
try {
d = formatter.parse(s);
long t = d.getTime() - 7 * 24 * 60 * 60 * 1000;
d.setTime(t);
System.out.println(formatter.format(d));
} catch (Exception e) {
e.printStackTrace();
} finally {
// ...
}
得到的结果:
2016-06-27
代码如下:
package tt;import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang3.StringUtils;
public class TestDate {
/* 三种时间格式 */
public static final String DATE_FORMAT = "yyyy-MM-dd";
public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static final String DATETIME = "yyyyMMddHHmmss";
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
Date date = sdf.parse("2016-07-04");
Date date2 = removeDays(date1, 7);
System.out.println(toString(date2, DATETIME_FORMAT));
}
/* 日期减天数 */
public static Date removeDays(Date oldDate, int n) {
Date newDate = null;
Calendar calOld = Calendar.getInstance();
calOld.setTime(oldDate);
int day = calOld.get(Calendar.DAY_OF_YEAR);
Calendar calNew = Calendar.getInstance();
calNew.setTime(oldDate);
calNew.set(Calendar.DAY_OF_YEAR, day - n);
newDate = calNew.getTime();
return newDate;
}
/* Date转string类型 */
public static String toString(Date date, String formatStr) {
if (null == date || StringUtils.isBlank(formatStr)) return "";
SimpleDateFormat sdf = new SimpleDateFormat(formatStr);
return sdf.format(date);
}
}
你非要在jsp页面里面写吗?最好的是在后台Java里面处理好返回到页面。
jsp处理方法:在jsp页面导入java.util包,<%@ page import="java.util.*"%>
Calendar c = Calendar.getInstance(); c.setTime(new Date());// 原来的时间
c.add(Calendar.DAY_OF_MONTH, -7);// 减7天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(c.getTime());减7天后的时间
以上是 【java】时间 减 天数 怎么写在jsp里面 2016-07-04 减去7天 的全部内容, 来源链接: utcz.com/a/72376.html