第1个回答 推荐于2016-09-16
Java代码
public class test1 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;
int date=c.get(Calendar.DATE);
System.out.println("今天是"+year+"年"+month+"月"+date+"日");
System.out.println("是今年的第"+c.get(Calendar.DAY_OF_YEAR)+"天");
System.out.println("c.getTime()的结果: "+c.getTime());
System.out.println("new Date()的结果: "+new Date());
c.set(Calendar.DAY_OF_YEAR, date + 30);
System.out.println("17天后是"+c.getTime());
}
}
Java代码
public static Date getDateBefore(Date d, int day) {
Calendar now = Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE, now.get(Calendar.DATE) - day);
return now.getTime();
}
public static Date getDateAfter(Date d, int day) {
Calendar now = Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
return now.getTime();
}
注意int month=c.get(Calendar.MONTH)+1哦,好像系统是从0开始计月份,到了12月就归零了。所以单独取月份时,要在后面加一才能得到当前的月份。
calender日期加减后赋值给Date类型
Java代码
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String time=sdf.format(new Date());
Calendar cd = Calendar.getInstance();
try {
cd.setTime(sdf.parse(time));
} catch (ParseException e) {
e.printStackTrace();
}
cd.add(Calendar.DATE, 1);//增加一天
//cal.add(Calendar.DATE, -1); //减一天
//cd.add(Calendar.MONTH, 1);//增加一月
Date date=cd.getTime();
System.out.println(sdf.format(date));
将yyyy//MM/dd的字符串类型转为Date类型
Java代码
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
str12 = format.parse(str12_1);
在excel导入数据时,日期类型的数据直接获取
Java代码
CellType t1 = st.getCell(11, row).getType();
Date regDate = null;
Date str12=null;//出生年月,不能为空
if (t1 == CellType.DATE)
{
DateCell regCell = (DateCell) st.getCell(11, row);
str12 = regCell.getDate();
}
第2个回答 推荐于2018-08-26
用java.util.Calendar.
Calendar.getInstance()获得Calendar对象
public abstract void add(int field,
int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点:
add(Calendar.DAY_OF_MONTH, -5)。
参数:field - 日历字段。
amount - 为字段添加的日期或时间量。
间隔天数用getTimeInMillis()的值相减,再把毫秒换算成天就可以了本回答被网友采纳