Date、Calendar、DateFormat類
阿新 • • 發佈:2018-12-30
rgs mil oca ava sys text nbsp new form
Date類與Calendar類之間的轉換
1 package date; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 6 public class DateDemo { 7 8 public static void main(String[] args) { 9 /** 10 * 可以直接輸出Date,不可以直接輸出Calendar 11 * 已知當前Date類的日期now,Calendar類的日期calendar, 12 * 1.將Date--->Calendar,用calendar.setTime(now);13 * 2.將Calendar--->Date,那麽now=calendar.getTime(); 14 */ 15 Date now=new Date(); 16 Calendar calendar=Calendar.getInstance(); 17 long now1=System.currentTimeMillis(); 18 long now2=now.getTime(); 19 long now3=calendar.getTimeInMillis(); 20 System.out.println("now :"+now);21 System.out.println("calendar.Year :"+calendar.get(Calendar.YEAR)); 22 System.out.println("now1 :"+now1); 23 System.out.println("now2 :"+now2); 24 System.out.println("now3 :"+now3); 25 26 calendar.add(Calendar.YEAR,-19); 27 System.out.printf("%d-%d-%d\n",calendar.get(Calendar.YEAR),28 calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)); 29 //Date-->Calendar 30 Calendar c1=Calendar.getInstance();//調用Calendar類中的靜態方法getInstance()來得到一個Calendar對象 31 c1.setTime(now); 32 33 //Calendar-->Date 34 Date birth=calendar.getTime(); 35 System.out.println("birth :"+birth); 36 37 System.out.println(birth.toLocaleString()); 38 39 } 40 41 }
輸出如下內容:
now :Sun Dec 30 11:32:57 CST 2018
calendar.Year :2018
now1 :1546140777528
now2 :1546140777390
now3 :1546140777468
1999-11-30
birth :Thu Dec 30 11:32:57 CST 1999
1999-12-30 11:32:57
DateFormat類:
1 package date; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 import java.util.Locale; 8 9 public class DateFormatDemo { 10 11 public static void main(String[] args) { 12 Date now = new Date(); 13 14 // Date ==> Calendar 15 Calendar calendar = Calendar.getInstance(); 16 calendar.setTime(now); 17 18 // 加8周 19 calendar.add(Calendar.WEEK_OF_YEAR, 8); 20 21 // Calendar ==> Date 22 now = calendar.getTime(); 23 System.out.println(now); 24 25 // 格式化 26 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", 27 28 Locale.CHINA); 29 // Date ==> String 30 String result = format.format(now);//format為DateFormat類中的一個方法,用於Formats a Date into a date/time string. 31 System.out.println(result); 32 33 // String ==> Date 34 String d = "2018-01-12 09:21:21.000"; 35 try { 36 Date date = format.parse(d);//parse解析,也是DateFormat類中的一個方法,解析給定字符串中的文本內容,以產生一個日期 37 System.out.println(date); 38 } catch (ParseException e) { 39 e.printStackTrace(); 40 } 41 42 } 43 }
Date、Calendar、DateFormat類