Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

日期

weixin_39730971 2022-01-15 04:45:17 阅读数:7 评论数:0 点赞数:0 收藏数:0

Date類 
注意:是 java.util.Date;  

而非 java.sql.Date,此類是給數據庫訪問的時候使用的


Date

1.時間原點概念

所有的數據類型,無論是整數,布爾,浮點數還是字符串,最後都需要以數字的形式錶現出來。

日期類型也不例外,換句話說,一個日期,比如2020年10月1日,在計算機裏,會用一個數字來代替。

那麼最特殊的一個數字,就是零. 零這個數字,就代錶Java中的時間原點,其對應的日期是1970年1月1日 8點0分0秒 。 (為什麼是8點,因為中國的太平洋時區是UTC-8,剛好和格林威治時間差8個小時)

為什麼對應1970年呢? 因為1969年發布了第一個 UNIX 版本:AT&T,綜合考慮,當時就把1970年當做了時間原點。

所有的日期,都是以為這個0點為基准,每過一毫秒,就+1。


2.創建日期對象

         // 當前時間
         Date d1 = new Date();
         System.out.println( "當前時間:" );
         System.out.println(d1);
         System.out.println();
         // 從1970年1月1日 早上8點0分0秒 開始經曆的毫秒數
         Date d2 = new Date( 5000 );
         System.out.println( "從1970年1月1日 早上8點0分0秒 開始經曆了5秒的時間" );
         System.out.println(d2);

3.getTime

getTime() 得到一個long型的整數
這個整數代錶 從1970.1.1 08:00:00:000 開始 每經曆一毫秒,增加1
直接打印對象,會看到 “Tue Jan 05 09:51:48 CST 2016” 這樣的格式,可讀性比較差


4.System.currentTimeMillis()

當前日期的毫秒數
new Date().getTime() 和 System.currentTimeMillis() 是一樣的
不過由於機器性能的原因,可能會相差幾十毫秒,畢竟每執行一行代碼,都是需要時間的


練習:

借助隨機數,創建一個從1995.1.1 00:00:00 到 1995.12.31 23:59:59 之間的隨機日期







日期格式化

SimpleDateFormat 日期格式化類


1.日期轉字符串

y 代錶年
M 代錶月
d 代錶日
H 代錶24進制的小時
h 代錶12進制的小時
m 代錶分鐘
s 代錶秒
S 代錶毫秒

2.字符串轉日期

模式(yyyy/MM/dd HH:mm:ss)需要和字符串格式保持一致,如果不一樣就會拋出解析异常ParseException


練習:日期格式化

准備一個長度是9的日期數組
使用1970年-2000年之間的隨機日期初始化該數組
按照這些日期的時間進行昇序排序
比如 1988-1-21 12:33:22 就會排在 1978-4-21 19:07:23 前面,因為它的時間更小,雖然日期更大






Calendar

Calendar類即日曆類,常用於進行“翻日曆”,比如下個月的今天是多久


1.Calendar與Date進行轉換

采用單例模式獲取日曆對象Calendar.getInstance();

         //采用單例模式獲取日曆對象Calendar.getInstance();
         Calendar c = Calendar.getInstance();
          
         //通過日曆對象得到日期對象
         Date d = c.getTime();
  
         Date d2 = new Date( 0 );
         c.setTime(d2); //把這個日曆,調成日期 : 1970.1.1 08:00:00

2.翻日曆

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


練習:

找出下個月的倒數第3天是哪天


以上來源:日期

Copyright statement
In this paper,the author:[weixin_39730971],Reprint please bring the original link, thank you

编程之旅,人生之路,不止于编程,还有诗和远方。
阅代码原理,看框架知识,学企业实践;
赏诗词,读日记,踏人生之路,观世界之行;

支付宝红包,每日可领