素材牛VIP会员
时间 减 天数 怎么写在jsp里面 2016-07-04 减去7天
 懒***材  分类:Java代码  人气:718  回帖:3  发布于6年前 收藏

日期怎么和数做减法啊

2016-07-04减去7天
这样的一个表达式要怎么写 要求减完之后 是string类型接收

 给指点一下
 标签:jspjava

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv3 码奴
gu***di 软件测试工程师 6年前#1

你非要在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天后的时间
Lv4 码徒
朱***叶 UI设计师 6年前#2

基本思路: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
Lv7 码师
un***oo 职业无 6年前#3


代码如下:

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);
    }

}
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取