高手:如何算一年前及一年后时间??急!在线等! 求一方法:给一个时间(如:String类型2005-5-1)算该日期后退一年(2005-05-02)。及该日期往后一年(2006-04-30)要求返回String类型 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try:Calendar calendar = new GregorianCalendar(2005, GregorianCalendar.MAY , 1);System.out.println(calendar.getTime()); //Date类型,自己用DateFormat格式化即可 calendar.add(GregorianCalendar.YEAR, 1); System.out.println(calendar.getTime()); calendar.add(GregorianCalendar.YEAR, -1); System.out.println(calendar.getTime()); Calendar calendar = new GregorianCalendar(1996, GregorianCalendar.FEBRUARY , 29);DateFormat format = new SimpleDateFormat("yyyy-MM-dd");System.out.println(format.format(calendar.getTime())); //1996-02-29calendar.add(GregorianCalendar.YEAR, 1);System.out.println(format.format(calendar.getTime())); //1997-02-28calendar.add(GregorianCalendar.YEAR, -1);System.out.println(format.format(calendar.getTime())); //1996-02-28 /** * 获得指定日期以前固定间隔的日期,如2005-07-15日期之前60天dateAdd(-60) * * @param amount * 距今天的间隔日期长度,向前为负,向后为正 * @return java.lang.String 固定间隔的日期 */ public static String beforeDate(Date date, int amount) { Calendar cal = new GregorianCalendar(); cal.setTime(date); cal.add(GregorianCalendar.DATE, amount); int y = cal.get(GregorianCalendar.YEAR); int m = cal.get(GregorianCalendar.MONTH) + 1; int d = cal.get(GregorianCalendar.DAY_OF_MONTH); String ymd = Integer.toString(y) + "-" + Integer.toString(m) + "-" + Integer.toString(d); return dateFormat(ymd, "yyyy-MM-dd"); } /** * 获得指定日期以前固定间隔的日期,如2005-07-15日期之前60天dateAdd(-60) * * @param amount * 距今天的间隔日期长度,向前为负,向后为正 * @return java.lang.String 固定间隔的日期 */ public static String AfterDate(Date date, int amount) { amount = -amount; return beforeDate(date, amount); } //当前日期前几天或者后几天的日期 public static String afterNDay(int n){ Calendar c=Calendar.getInstance(); DateFormat df=new SimpleDateFormat("yyyy-MM-dd"); c.setTime(new Date()); c.add(Calendar.DATE,n); Date d2=c.getTime(); String s=df.format(d2); return s; } 使用poi解析xlsx,很慢吗? Java应该如何深入 内存溢出 请教 急 Execl解析问题 大家帮忙看下这个问题啊!很怪的感觉。。。 XUI 初学Spring遇到问题,请高手帮忙!~~` 关于dispose() java小问题~希望大家给于指教!谢谢了!(在线等) 请问大家JAVA有什么好书,对于初学者来说???? InetAddress.getLocalHost()的疑问 工作机会
System.out.println(calendar.getTime()); //Date类型,自己用DateFormat格式化即可
calendar.add(GregorianCalendar.YEAR, 1);
System.out.println(calendar.getTime());
calendar.add(GregorianCalendar.YEAR, -1);
System.out.println(calendar.getTime());
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(format.format(calendar.getTime())); //1996-02-29
calendar.add(GregorianCalendar.YEAR, 1);
System.out.println(format.format(calendar.getTime())); //1997-02-28
calendar.add(GregorianCalendar.YEAR, -1);
System.out.println(format.format(calendar.getTime())); //1996-02-28
* 获得指定日期以前固定间隔的日期,如2005-07-15日期之前60天dateAdd(-60)
*
* @param amount
* 距今天的间隔日期长度,向前为负,向后为正
* @return java.lang.String 固定间隔的日期
*/
public static String beforeDate(Date date, int amount) {
Calendar cal = new GregorianCalendar();
cal.setTime(date);
cal.add(GregorianCalendar.DATE, amount);
int y = cal.get(GregorianCalendar.YEAR);
int m = cal.get(GregorianCalendar.MONTH) + 1;
int d = cal.get(GregorianCalendar.DAY_OF_MONTH);
String ymd = Integer.toString(y) + "-" + Integer.toString(m) + "-"
+ Integer.toString(d);
return dateFormat(ymd, "yyyy-MM-dd");
}
/**
* 获得指定日期以前固定间隔的日期,如2005-07-15日期之前60天dateAdd(-60)
*
* @param amount
* 距今天的间隔日期长度,向前为负,向后为正
* @return java.lang.String 固定间隔的日期
*/
public static String AfterDate(Date date, int amount) {
amount = -amount;
return beforeDate(date, amount);
}
Calendar c=Calendar.getInstance();
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
c.setTime(new Date());
c.add(Calendar.DATE,n);
Date d2=c.getTime();
String s=df.format(d2);
return s;
}