package com.slei.onlinenum; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Calendar; public class DateTest { //天数操作 public static String Ds(int days) { SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); int day = calendar.get(Calendar.DAY_OF_YEAR); calendar.set(Calendar.DAY_OF_YEAR, day + days); Date cc = calendar.getTime(); return form.format(cc); } //月数操作 public static String MonthAdd(int days) { SimpleDateFormat form = new SimpleDateFormat("yyyy-MM"); Calendar calendar = Calendar.getInstance(); int day = calendar.get(Calendar.MONTH); calendar.set(Calendar.MONTH, day + days); Date cc = calendar.getTime(); return form.format(cc); } public static void main(String[] args) { System.out.println(DateTest.Ds(-3));//三天前的时间 System.out.println(DateTest.MonthAdd(-4));//四月前的时间 } }
自己看API文档 。API文档是程序员的宝
还是自己先看看吧,不会就来这里说出你的困惑
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class DateTest {
//天数操作
public static String Ds(int days) {
SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_YEAR);
calendar.set(Calendar.DAY_OF_YEAR, day + days);
Date cc = calendar.getTime();
return form.format(cc);
}
//月数操作
public static String MonthAdd(int days) {
SimpleDateFormat form = new SimpleDateFormat("yyyy-MM");
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.MONTH);
calendar.set(Calendar.MONTH, day + days);
Date cc = calendar.getTime();
return form.format(cc);
}
public static void main(String[] args) {
System.out.println(DateTest.Ds(-3));//三天前的时间
System.out.println(DateTest.MonthAdd(-4));//四月前的时间
}
}
*gc.add(2,-1)表示月份减一.
*gc.add(3.-1)表示周减一.
*gc.add(5,-1)表示天减一.
*以此类推应该可以精确的毫秒吧.没有再试.大家可以试试.
*GregorianCalendar类的add(int field,int amount)方法表示年月日加减.
*field参数表示年,月.日等.
*amount参数表示要加减的数量.
*
* UseDate.java 测试如下:
*/
package temp.util;import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.text.SimpleDateFormat;
public class UseDate {
Date d=new Date();
GregorianCalendar gc =new GregorianCalendar();
SimpleDateFormat sf =new SimpleDateFormat("yyyy-MM-dd");
public String getYears()
{
gc.setTime(d);
gc.add(1,+1);
gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE));
return sf.format(gc.getTime());
}
public String getHalfYear()
{
gc.setTime(d);
gc.add(2,+6);
gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE));
return sf.format(gc.getTime());
}
public String getQuarters()
{
gc.setTime(d);
gc.add(2,+3);
gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE));
return sf.format(gc.getTime());
} public String getLocalDate()
{
return sf.format(d);
}
public static void main(String[] args)
{
UseDate ud= new UseDate();
System.out.println(ud.getLocalDate());
System.out.println(ud.getYears());
System.out.println(ud.getHalfYear());
System.out.println(ud.getQuarters());
}
}
再加上一个对时间的显示
public static String time()
throws Exception
{
Calendar cal = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
String time = formatter.format(cal.getTime());
return time;
}