Java 日期轉換
涉及的核心類:Date類、SimpleDateFormat類、Calendar類
一、 Date型與long型
Date型轉換為long型
Date date = new Date();//取得當前時間Date類型
long date2long = date.getTime();//Date轉long
long型轉換為Date型
long cur = System.currentTimeMills();//取得當前時間long型返回
Date long2date = new Date(cur);//long轉Date
二、Date型與String型
Date型轉換為String型
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//設置目標轉換格式為yyyy-MM-dd HH:mm:ss.SSS
String date2string = sdf.format(date);//Date轉String
String型轉換為Date型
String str="2001-11-03 11:12:33.828";//設置初始string類型日期
Date str2date=sdf.parse(str);//String轉Date
三、Date型與Calendar型
Date型轉換為Calendar型
Calendar cal = Calendar.getInstance();//取得當前時間Calendar類型
cal.setTime(date); //Date轉Calendar
Calendar型轉換為Date型
Calendar cal = Calendar.getInstance();//取得當前時間Calendar類型
Date cal2date = cal.getTime();//Calendar轉Date
四、總結
String與基本類型之間的轉換依靠的是String.valueOf()方法
Date與String類之間的轉換依靠的是SimpleDateFormat類
Date與long轉換依靠的是Date提供的構造以及getTime()方法
Date與Calendar轉換依靠的是Calendar提供的setTime()及getTime()方法
五、面試題
Q:寫一個方法,參數是Date date,將date往后推3天,在以“yyyy-mm-dd”格式返回字符串類型
public String add3Day(Date date) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(date);//Date轉換為Calendar
cal.add(Calendar.DATE, 3);//將日期往后推3天,減少3天則-3. 月增加則Calendar.MONTH
String after = sdf.format(cal.getTime());//Calendar轉換為Date,再轉換為String
return after;
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!