java_时间转换
时间:2010-07-18 来源:biganer2008
很有用哦。
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;
}