1. 程式人生 > >Calendar獲取年、月、日、時間

Calendar獲取年、月、日、時間

  Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));    //獲取東八區時間

  int year = c.get(Calendar.YEAR);    //獲取年
  int month = c.get(Calendar.MONTH) + 1;   //獲取月份,0表示1月份
  int day = c.get(Calendar.DAY_OF_MONTH);    //獲取當前天數
  int first = c.getActualMinimum(c.DAY_OF_MONTH);    //獲取本月最小天數
  int last = c.getActualMaximum(c.DAY_OF_MONTH);    //獲取本月最大天數
  int time = c.get(Calendar.HOUR_OF_DAY);       //獲取當前小時
  int min = c.get(Calendar.MINUTE);          //獲取當前分鐘
  int xx = c.get(Calendar.SECOND);          //獲取當前秒

  SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String curDate = s.format(c.getTime());  //當前日期
  System.out.println("當前時間:"+year + "-" + month + "-"+ day + " "+time + ":" + min +":" + xx);
  System.out.println("第一天和最後天:" + first +"," + last);

  System.out.println("當前日期curDate====:" + curDate);

輸出結果:

當前時間:2012-9-25 22:50:54
第一天和最後天:1,30

當前日期curDate:2012-09-25 22:50:54

Calendar的計算

  c.add(Calendar.YEAR, 1);  //當前年份加1年
  c.add(Calendar.MONTH, 1); //當前月份加1個月
  c.add(Calendar.DAY_OF_MONTH, 1); //當前天數加1天


  int year2 = c.get(Calendar.YEAR);
  int month2 = c.get(Calendar.MONTH) + 1;
  int day2 = c.get(Calendar.DAY_OF_MONTH);
  int firstD = c.getActualMinimum(c.DAY_OF_MONTH);
  int lastD = c.getActualMaximum(c.DAY_OF_MONTH);
  System.out.println("當前時間:"+year2 + "-" + month2 + "-"+ day2 + " "+time + ":" + min +":" + xx);
  System.out.println("第一天和最後天:" + firstD +"," + lastD);

輸出結果:

當前時間:2013-10-26 23:4:3
第一天和最後天:1,31

獲取上個月的年、月、日

Calendar c=Calendar.getInstance();

c.add(Calendar.MONTH, -1);//上個月

SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String year=String.valueOf(c.get(Calendar.YEAR));

String topDay = String.valueOf(c.getActualMinimum(Calendar.DAY_OF_MONTH));

String lastDay = String.valueOf(c.getActualMaximum(Calendar.DAY_OF_MONTH)); 

//上個月

String lastMonth=String.valueOf(c.get(Calendar.MONTH)+1).length()==2?String.valueOf(c.get(Calendar.MONTH)+1):"0"+String.valueOf(c.get(Calendar.MONTH)+1);

String topDayMonth=year+"-"+lastMonth+"-"+"01" + " 00:00:00";

String lastDayMonth = year+"-"+lastMonth+"-"+lastDay+ " 23:59:59";

System.out.println("###year:" + year);

System.out.println("###last month:" + lastMonth);

        System.out.println("###topday:" + topDayMonth);

        System.out.println("###lastday:" + lastDayMonth);

輸出結果

###year:2013

###last month:04

###topday:2013-04-01 00:00:00

###lastday:2013-04-30 23:59:59

轉自 http://hi.baidu.com/zzm_2007/item/3b967b1cd1586e4e2b3e2258