JAVA处理日期时间常用方法:
1.java.util.Calendar
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
- int year =calendar.get(Calendar.YEAR);
- int month=calendar.get(Calendar.MONTH)+1;
- int day =calendar.get(Calendar.DAY_OF_MONTH);
- int hour =calendar.get(Calendar.HOUR_OF_DAY);
- int minute =calendar.get(Calendar.MINUTE);
- int seconds =calendar.get(Calendar.SECOND);
/**
* 取当天的前一天和后一天
*/
public void method1(){
Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。
cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.
// cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天.
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()));
System.out.println("yesterday is:"+format.format(cal.getTime()));
}
/**
* 取该月最大天数
* @param args
*/
public void getMaxDay(){
Calendar cal = Calendar.getInstance();
int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(day);
}
2.java.util.Date
/**
* Date类取当天
* @param args
*/
public void method2(){
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date today=new java.util.Date();
System.out.println("Today is "+format.format(today));
}
/**
* Date类取当月第一天
* @param args
*/
public void method3(){
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01");
java.util.Date firstDay=new java.util.Date();
System.out.println("当月第一天 "+format.format(firstDay));
}
其他可能公用的方法:
/**
* 取当月最后一天
* @param args
*/
public void method4(){
Calendar cal = Calendar.getInstance();
int maxDay=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay);
System.out.println("当月最后一天"+format.format(cal.getTime()));
}
/**
* 两个日期之间相隔的天数
*/
public void method5(){
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date beginDate;
try {
beginDate = format.parse("2007-12-22");
java.util.Date endDate= format.parse("2007-12-25");
long day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000);
System.out.println("相隔的天数="+day);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}