java笔试--日期处理

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.每四年有一个闰年,每一百年要减去一个闰年,每四百年要加回一个闰年。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章