java Date和SimpleDateFormat時間類詳解
前言:
任何的收獲不是巧合,而是每天的努力與堅持得來的!人生因有夢想而充滿動力,不怕你每天邁一小步,隻怕你停滯不前;不怕你每天做一點事,隻怕你無所事事。堅持,是生命的一種毅力;執行,是努力的一種堅持!
在這鋼筋混凝土的森林裡,數不盡的豺狼虎豹,能做的就是努力往上爬,一路的打怪升級,為的隻是讓太陽有空隙落在頭上~
我們上一篇聊到瞭java之StringBuilder和stringbuffer類,這一篇我們聊一下Date和SimpleDateFormat處理時間,針對於以下的概念,都會有實體例子配合著,給大傢演示,希望給大傢帶來一些幫助!!!
一.介紹
java.util包中的Date類表示特定的時間,精確到毫秒。如果要想使用我們的Date類,那麼我們必須得引入我們的Date類。
Date類直接寫入年份是得不到正確的結果的。 因為java中Date是從1900年開始算的,所以前面的第一個參數隻要填入從1900年後過瞭多少年就是你想要得到的年份。 月需要減1,日可以直接插入。 這種方法用的比較少,常用的是第二種方法。
這種方法是將一個符合特定格式,比如yyyy-MM-dd,的字符串轉化成為Date類型的數據。 首先,定義一個Date類型的對象 Date date = null; 再定義一個String類型的符合格式的字符串 String dateStr = "2010-9-10"; 把這個字符串進行拆分 dateDivide = dateStr.split("-"); 把年月日分別取出,賦給Calendar,用 Calendar的getTime();取得日期再賦給date。
二.知識點介紹
- 1、Date類的聲明
- 2、Date類的常用方法
- 3、SimpleDateFormat格式化日期
三.知識點講解
1、Date類的聲明
如果要想取得日期時間,我們可以實例化Date類
(1)獲得當前日期時間
Date d=new Date();
(2)獲得指定日期時間
Date d=new Date(long date);
註意:要想得到當前時間的long date 我們可以用getTime();方法
代碼演示:
package Test2; import java.util.Date; public class Tested { private final static String name = "磊哥的java歷險記-@51博客"; public static void main(String args[]){ //產生日期對象 Date d=new Date(); System.out.println(d); //獲取時間為長整型,時間戳 long l=d.getTime(); System.out.println(l); Date d1=new Date(l); System.out.println(d1); System.out.println("============="+name+"============="); } }
2、Date類的常用方法
- (1)getYear()//年份,Date對象中年份減去1900以後的值,所以需要顯示對應的年份則需要在返回值的基礎上加上1900
- (2)getMonth()//月份,Date類規定一月是0,二月是1,三月是2,後續的依次類推。
- (3)getDate()//日期
- (4)getHours()//小時
- (5)getMinutes()//分鐘
- (6)getSeconds()//秒
- (7)getDay()//星期,Date類規定周日是0,周一是1,周二是2,後續的依次類推。
代碼演示:
package Test2; //導入時間包 import java.util.Date; public class Tested { private final static String name = "磊哥的java歷險記-@51博客"; public static void main(String args[]){ //創建時間對象 Date d2 = new Date(); //年份,Java中的Date表示的是自1900年以來所經過的時間 int year = d2.getYear() + 1900; //月份,最後一個月取決於一年中的月份數。 因為這個值的初始值是0,因此我們要用它來表示正確的月份時就需要加1。 int month = d2.getMonth() + 1; //日期 int date = d2.getDate(); //小時 int hour = d2.getHours(); //分鐘 int minute = d2.getMinutes(); //秒 int second = d2.getSeconds(); //星期幾 int day = d2.getDay(); System.out.println("年份:" + year); System.out.println("月份:" + month); System.out.println("日期:" + date); System.out.println("小時:" + hour); System.out.println("分鐘:" + minute); System.out.println("秒:" + second); System.out.println("星期:" + day); System.out.println("============="+name+"============="); } }
3、SimpleDateFormat格式化日期
SimpleDateFormat 是一個以語言環境敏感的方式來格式化和分析日期的類。SimpleDateFormat 允許你選擇任何用戶自定義日期時間格式來運行。
(1)SimpleDateFormate初始化:
SimpleDateFormate sdf=new SimpleDateFormate(日期格式);
註意:日期格式
(2)SimpleDateFormat常用方法:
- format(Date d):將日期格式轉化為字符串數據
- parse(String s):將字符串格式轉化為日期數據
代碼演示:
package Test2; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; class Person extends Object{ public static void main(String args[]){ Date d=new Date(); //傳入指定時間格式 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //日期格式化輸出 System.out.println(sdf.format(d)); } }
定義一個工具類:
package Test2; //導入時間包import java.text.SimpleDateFormat; import java.util.Date; public class MyDate { private final static String name = "磊哥的java歷險記-@51博客"; // 定義的MyDateDemo類 private SimpleDateFormat sd = null; // 聲明SimpleDateFormat對象sd public String getDate01() { // 定義getDate01方法 this.sd = new SimpleDateFormat("yyyy-MM-dd HH:mm;ss.sss"); // 得到一個"yyyy-MM-dd // HH:mm;ss.sss"格式日期 return this.sd.format(new Date()); // 將當前日期進行格式化操作 } public String getDate02() { // 定義getDate02方法 this.sd = new SimpleDateFormat("yyyy年MM月dd日 HH時mm分ss秒sss毫秒"); // 得到一個"yyyy年MM月dd日 //HH時mm分ss秒sss毫秒"格式日期 return this.sd.format(new Date()); // 將當前日期進行格式化操作 } public String getDate03() {// 定義getDate03方法 this.sd = new SimpleDateFormat("yyyyMMddHHmmsssss"); // 得到一個"yyyyMMddHHmmsssss"格式日期(也就是時間戳) return this.sd.format(new Date());// 將當前日期進行格式化操作 } }
主方法調用:
package com.Test; import Test2.MyDate; import java.util.Date; public class Main { private final static String name = "磊哥的java歷險記-@51博客"; public static void main(String[] args) { // 主方法 MyDate dd = new MyDate(); // 聲明dd對象,並實例化 System.out.println("默認日期格式: " + new Date()); // 分別調用方法輸入不同格式的日期 System.out.println("英文日期格式: " + dd.getDate01()); System.out.println("中文日期格式: " + dd.getDate02()); System.out.println("時間戳: " + dd.getDate03()); System.out.println("============="+name+"============="); } }
4、精煉練習
4.1 題目
- (1)獲取到當前日期,並且打印出yyyy-MM-dd hh:mm:ss的形式
- (2)獲取當前日期的年份和月份並進行輸出
4.2 實驗步驟
- (1)使用date對象獲取當前日期
- (2)使用simpleDateFormat進行格式化日期
- (3)使用date的常用方法來進行獲取年份和月份
4.3 代碼演示
package com.Test; import Test2.MyDate; import java.text.SimpleDateFormat; import java.util.Date; public class Main { private final static String name = "磊哥的java歷險記-@51博客"; public static void main(String[] args) { // 主方法 //獲取當前日期 Date d2=new Date(); //轉換為yyyy-MM-dd hh:mm:ss SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //日期格式化 System.out.println("日期格式化:"+sdf.format(d2)); int year = d2.getYear() + 1900;//年份 int month = d2.getMonth() + 1;//月份 System.out.println("年份:" + year); System.out.println("月份:" + month); System.out.println("============="+name+"============="); } }
結語
到此這篇關於java Date和SimpleDateFormat時間類詳解的文章就介紹到這瞭,更多相關java Date類內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 新手小白學JAVA 日期類Date SimpleDateFormat Calendar(入門)
- Java技能點之SimpleDateFormat進行日期格式化問題
- Java 時間格式轉換之impleDateFormat與Data API解析與使用
- Java常用類之日期相關類使用詳解
- Java日期時間類(Date、DateFormat、Calendar)解析