Java程序中利用Calendar我们可以轻松的获取当前年份,月份等信息,示例如下:

import java.sql.Date;
import java.util.Calendar;
public class Test {
    /**
     * 利用calendar获取当前的年月日,一周的第几天,星期几,
今天是某个月的第几天,今天是今年的第几天,几天是今年的第几周等等
     * @param args
     */
    public static void main(String[] args) {
        Calendar cal=Calendar.getInstance();
        int year=cal.get(Calendar.YEAR);
        int month=cal.get(Calendar.MONTH)+1;
        int date=cal.get(Calendar.DATE);
        int dow=cal.get(Calendar.DAY_OF_WEEK);
        int dom=cal.get(Calendar.DAY_OF_MONTH);
        /**
         * DAY_OF_WEEK_IN_MONTH和WEEK_OF_MONTH都是指今天是本月的第几个星期,但是他们又有差别:
         * DAY_OF_WEEK_IN_MONTH按这个月1号算,1号起就是第1周,8号起就是第2周,以月份天数为标准;
         * WEEK_OF_MONTH严格以星期的起止算,比如这个月3号才是周一,那3号才算第1周,2号不算,以星期为标准。
         */
        int dowim=cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
        int wim=cal.get(Calendar.WEEK_OF_MONTH);
        int doy=cal.get(Calendar.DAY_OF_YEAR);
        int weeks=cal.get(Calendar.WEEK_OF_YEAR);
        String year1=String.valueOf(Calendar.getInstance().get(Calendar.YEAR));
        Date firstday=Date.valueOf(year1+"-01-01");
                                                           
        System.out.println(firstday);
        //获取本周六
        System.out.println("时间戳:"+cal.getTimeZone());
        Calendar cal1=Calendar.getInstance(cal.getTimeZone());
        System.out.println("cal1:"+cal1);
                                                           
        System.out.println("今年是哪一年:"+year);
        System.out.println("现在是几月:"+month);
        System.out.println("今天是几号:"+date);
        System.out.println("今天是这一周中的第几天:"+dow);
        System.out.println("今天是这个月的第几天:"+dom);
        System.out.println("今天是这个月的第几个星期:"+dowim);
        System.out.println("今天是这个月的第几个星期:"+wim);
        System.out.println("今天是今年的第几天:"+doy);
        System.out.println("现在是今年的第几周:"+weeks);
    }
}