項目心得——按照指定的日期/時間創建Date對象


項目心得——按照指定的日期/時間創建Date對象

  有時,在做項目中,需要獲得指定日期的Date對象,這個指定的日期或者時間可能不是當前的時間。下面講解兩種獲取指定日期/時間的Date對象的方法

 1 package cc.bcy;
 2 import java.text.DateFormat;
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7 import java.util.GregorianCalendar;
 8 public class DateTest 
 9 {
10     public static void main(String[] args) throws ParseException 
11     {
12         /*第一種方法*/
13         // 獲得2009年06月01日 的Date對象
14         DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
15         Date myDate1 = dateFormat1.parse("2009-06-01");
16         System.out.println(myDate1);
17         // 獲得2010年9月13日22點36分01秒 的Date對象
18         DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
19         Date myDate2 = dateFormat2.parse("2010-09-13 22:36:01");
20         System.out.println(myDate2);
21         System.out.println();
22         
23         /*第二種方法*/
24         //獲取2014年2月11日的Date對象
25         Calendar myCalendar = new GregorianCalendar(2014, 2, 11);
26         Date myDate3 = myCalendar.getTime();
27         System.out.println(myDate3);
28         //獲取2014年2月11日 22:36:01的Date對象
29         Calendar myCalendar2 = new GregorianCalendar(2014, 2, 11,22,36,01);
30         Date myDate4 = myCalendar2.getTime();
31         System.out.println(myDate4);
32     }
33 }

  獲取當前時間的Date對象:

 1 package cc.bcy;
 2 import java.text.DateFormat;
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7 import java.util.GregorianCalendar;
 8 public class DateTest 
 9 {
10     public static void main(String[] args) throws ParseException 
11     {
12         Date d1 = new Date();        //當前時間
13         System.out.println(d1);
14     }//Thu May 30 10:50:04 CST 2019
15 }

  獲取指定時間戳的Date對象:

 1 package cc.bcy;
 2 import java.text.DateFormat;
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7 import java.util.GregorianCalendar;
 8 public class DateTest 
 9 {
10     public static void main(String[] args) throws ParseException 
11     {
12         // 從1970年1月1日 早上8點0分0秒 開始經歷的毫秒數
13         Date d2 = new Date(5000);
14         System.out.println("從1970年1月1日 早上8點0分0秒 開始經歷了5秒的時間");
15         System.out.println(d2);
16     }
17 }
18 /*
19 從1970年1月1日 早上8點0分0秒 開始經歷了5秒的時間
20 Thu Jan 01 08:00:05 CST 1970
21  */

  獲取當前時間的時間戳:

 1 package cc.bcy;
 2 import java.text.DateFormat;
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Calendar;
 6 import java.util.Date;
 7 import java.util.GregorianCalendar;
 8 public class DateTest 
 9 {
10     public static void main(String[] args) throws ParseException 
11     {
12         Date now = new Date();
13         System.out.println("當前時間的時間戳為:"+now.getTime());
14         System.out.println("當前時間的時間戳為:"+System.currentTimeMillis());
15     }
16 }
17 //當前時間的時間戳為:1559185132787
18 //當前時間的時間戳為:1559185132787

  把當前時間格式化為字符串:

 1 package cc.bcy;
 2 import java.text.*;
 3 import java.util.*;
 4 
 5 public class DateTest 
 6 {
 7     public static void main(String[] args) throws ParseException 
 8     {
 9         SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
10         Date d= new Date();
11         String str = sdf.format(d);
12         System.out.println("當前時間通過 yyyy-MM-dd HH:mm:ss SSS 格式化后的輸出: "+str);
13         
14         SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
15         Date d1= new Date();
16         String str1 = sdf1.format(d1);
17         System.out.println("當前時間通過 yyyy-MM-dd 格式化后的輸出: "+str1);
18     }
19 }
20 /*
21 當前時間通過 yyyy-MM-dd HH:mm:ss SSS 格式化后的輸出: 2019-05-30 11:03:15 267
22 當前時間通過 yyyy-MM-dd 格式化后的輸出: 2019-05-30
23 */

  Calendar與Date進行轉換:

 1 package cc.bcy;
 2 import java.text.*;
 3 import java.util.*;
 4 
 5 public class DateTest 
 6 {
 7     public static void main(String[] args) throws ParseException 
 8     {
 9         //采用單例模式獲取日歷對象Calendar.getInstance();
10         Calendar c = Calendar.getInstance();
11         //通過日歷對象得到日期對象
12         Date date = c.getTime();
13         
14         Date date2 = new Date(0);
15         c.setTime(date2); //把這個日歷,調成日期 : 1970.1.1 08:00:00
16     }
17 }

  Calendar的簡單操作:

  add方法,在原日期上增加年/月/日
  set方法,直接設置年/月/日

 1 package cc.bcy;
 2 import java.text.*;
 3 import java.util.*;
 4 
 5 public class DateTest 
 6 {
 7     
 8     public static void main(String[] args) throws ParseException 
 9     {
10         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
11         Calendar c = Calendar.getInstance();
12         Date now = c.getTime();
13         // 當前日期
14         System.out.println("當前日期:            " + sdf.format(now));
15  
16         // 下個月的今天
17         c.add(Calendar.MONTH, 1);
18         System.out.println("下個月的今天:    " +sdf.format(c.getTime()));
19  
20         // 去年的今天
21         c.setTime(now);
22         c.add(Calendar.YEAR, -1);
23         System.out.println("去年的今天:        " +sdf.format(c.getTime()));
24  
25         // 上個月的第三天
26         c.setTime(now);
27         c.add(Calendar.MONTH, -1);
28         c.set(Calendar.DATE, 3);
29         System.out.println("上個月的第三天:    " +sdf.format(c.getTime()));
30     }
31 }
32 /*
33 當前日期:        2019-05-30 11:14:41
34 下個月的今天:    2019-06-30 11:14:41
35 去年的今天:        2018-05-30 11:14:41
36 上個月的第三天:    2019-04-03 11:14:41
37 */


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM