import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateHandle {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
Calendar calendar = Calendar.getInstance() ;
Date date = calendar.getTime() ;
System.out.println(format.format(date));
String myDate = "2003-12-13 10:12:13" ;
Date mDate = null ;
try {
mDate = format.parse(myDate);
calendar.setTime(mDate) ;
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
//一月中的第几天,比如:1月1号即为一月的第一天
System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); //一周中的第几天,周日为第一天,周六为第七天
System.out.println(calendar.get(Calendar.MONTH));
//得到月份,实际月份应该是:该值+1,比如:输出值为11,表示每年的12月份
} catch (ParseException e) {
e.printStackTrace();
}
}
}
常用计算:
1.假设该天为星期m,则n天之后是星期q: q = m + (n % 7)
2.一年有365天,2001年的今天是星期2, 2002年的今天是: 2 + 365 % 7 = 2 + 1 = 3, 不信你查日历表。
因为 365 = 7 * x + 1, 因此,每过一年的同月同日星期数便加1。
3.闰年有366天,因此如果月份大于2,则每过一年的同月同日星期数除了要加1,还要再加间隔的闰年数。
4.每四年有一个闰年,每一百年要减去一个闰年,每四百年要加回一个闰年。