Java技巧-日期

1.String mydate = "2013-08-29T00:00:00+08:00 ";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
java.util.Date date = sdf.parse(mydate);
mydate = "";
mydate += 1900+date.getYear()+"-";
mydate += 1+date.getMonth()+"-";
mydate += date.getDate();
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(mydate);
//或者
System.out.println(sdf.format(date));

2

Java 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);
  c.add(Calendar.MONTH, 1);
  c.add(Calendar.DAY_OF_MONTH, 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


3.從數據庫獲取時間

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); 

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

Date date1;

 

Date date2;

Time time2;

Timestamp timestamp2;


Timestamp  timestamp3;

while(rs.next()){

date1 = rs.getDate("date1");//獲取date類型中的日期


date2 = rs.getTimestamp("date2");//獲取datetime類型中的日期部分

time1 = rs.getTime("date2");//獲取datetime類型中的時間部分

timestamp2 = rs.getTimestamp("date2");//獲取datetime類型中的日期和時間

//或者date2 = rs.getTimestamp("date2");//多態



timestamp3 = rs.getTimestamp("date3");

 

   System.out.println(sdf.format(date1t));

 

System.out.println(sdf1.format(date2t));

System.out.println(sdf1.format(time2));

System.out.println(sdf1.format(timestamp2));

 

System.out.println(sdf1.format(timestamp3));

}

 

發佈了45 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章