java時間轉換方法實例代碼
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
DateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
Date date = null;
String str = null;
// String 轉Date
str = “2007-1-18”;
try {
date = format.parse(str); // Thu Jan 18 00:00:00 CST 2007
} catch (ParseException e) {
e.printStackTrace();
}
date = java.sql.Date.valueOf(str); // 隻保留日期部分,返回的是 java.sql.Date 2007-01-18
// Date 轉String
date = new Date(); // Thu Jan 18 21:35:01 CST 2007
/*Calendar cal = Calendar.getInstance();
date = new Date(cal.getTimeInMillis());*/
str = format.format(date); // 2007-01-18
format = DateFormat.getDateInstance(DateFormat.SHORT);
str = format.format(date); // 07-1-18
format = DateFormat.getDateInstance(DateFormat.MEDIUM);
str = format.format(date); // 2007-1-18
format = DateFormat.getDateInstance(DateFormat.FULL);
str = format.format(date); // 2007年1月18日 星期四
取得某一日期的前n個月的日期:
//將一個日期字符串轉化成日期
public Date switchStringToDate(String sDate){
Date date=null;
try{
SimpleDateFormat df=new SimpleDateFormat( “yyyy-MM-dd “);
date = java.sql.Date.valueOf(sDate); //轉成date形式的yyyy-MM-dd
}catch(Exception e){
System.out.println( “日期轉換失敗: ” e.getMessage());
}
return date;
}
//將一個日期字符串轉化成Calendar
public Calendar switchStringToCalendar(String sDate){
Date date = switchStringToDate(sDate);
Calendar c = Calendar.getInstance();
c.setTime(date);
return c;
}
//取得某個時間前n個月的相對應的一天
public String getNMonthBeforeOneDay(String sDate,int n){
Calendar c = switchStringToCalendar(sDate);
c.add(c.MONTH,-n);
Date date=java.sql.Date.valueOf(c.get(c.YEAR) “-” (c.get(c.MONTH) 1) “-” c.get(c.DATE));
DateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
String str = format.format(date); // 2007-01-18
return str;
}