java日期知识点整理及例子程序

来源:互联网 发布:java同步方法 编辑:程序博客网 时间:2024/06/09 21:38
1、Date类  new Date(year 当前时间-1900 month 当前月-1) getYear()+1900 getMonth()+1  
2、Calendar 类,Calendar类的创建,Calendar类是一个抽象类,在实际应用中实现特定的子类对象,由于Calendar是抽象的,且它的构造方法是protected的,无法直接创建,Calendar提供getInstance来返回Calendar对象。
 创建一个Calendar对象 Calendar ca=Calendar.getInstance();
 设置指定日期ca.set(2009,9,3);
 调用public void set(int field,int value);
  ca.set(Carlendar.Year,2008);
  获得 ca.get(Calendar.YEAR)
3、GregorianCalendar 是calendar的一个子类,
4、DateFormat 类是日期时间格式化子类的抽象类,日期格式化的子类SimpleDateFomat
SimpelDateFormat df=new SimpleDateFormat("yyyy-mm-dd")
//日期到字符串的转化 String today=df.format(new Date());
//字符串到日期的转化 Date date=df.parse("2009-06-12 23:23:23");
//获取指定日期星期 week=ca.get(Calendar.DAY_OF_WEEK)
/获取距离某天的日子 ca.add(Calendar.DAY_OF_MONTH,days)

//两个日子相差 long quto=date1.getTime-date2.getTime(); long days=quto/(1000*24*60*60)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;




public class Testdate3 {


/**
* @param args
*/
public static void main(String[] args) {
Calendar ca=Calendar.getInstance();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
String now=df.format(System.currentTimeMillis());
System.out.println(now);
   System.out.println(getWeek("2009-12-10"));
   System.out.println(getLimitDate("2009-9-9",-12));
   System.out.println(getDays("2009-9-9","2010-10-10"));
}

/*
* 获取某个日期星期及
* */
public static int getWeek(String date){
int week = 0;
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
try {
Date date1=df.parse(date);
Calendar ca=Calendar.getInstance();
ca.setTime(date1);
week=ca.get(Calendar.DAY_OF_WEEK);
 

} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return week;
}

/*
* 获得距离里某天隔指定日期之后的日子
* ca.add(Calendar.DAY_OF_MONTHS);
* */

public static String getLimitDate(String date,int days){
String limitday=null;
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar ca=Calendar.getInstance();
try {
Date date1=df.parse(date);
ca.setTime(date1);
ca.add(Calendar.DAY_OF_MONTH, days);

} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Date date2=ca.getTime();
limitday=df.format(date2);


return limitday;

}

/**
* 得到相差天数
* @param day1
* @param day2
* @return
*/
public static long getDays(String day1,String day2){
long days=0;
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
try {
Date date1=df.parse(day1);
Date date2=df.parse(day2);
long quto=date1.getTime()-date2.getTime();
days=quto/(24*60*60*1000);

} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 
 
return days;
}




}

原创粉丝点击