若是要想經過這個類取得當前的日期時間,那麼只須要直接實例化Date類對象便可:public Date()。html
package cn.mldn.demo; import java.util.Date; publicclass TestDemo { publicstaticvoid main(String[] args) throws Exception { Date date = new Date(); System.out.println(date); // Tue Dec 18 15:02:28 CST 2020 } }
可是發現,這個時候返回的日期時間實在是不可以被一些人所看懂,因此在以後須要對其進行轉換。
提示:
關於long和日期時間的轉換在Date對象之中自己是包含了日期時間數據,可是若是要想讓其和
long數據之間互相轉換,則須要如下方式:
方式一:
將Date型數據變爲long型數據,java
public long getTime() package cn.mldn.demo; import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { Date date = newDate(); long num = date.getTime() ; System.out.println(num); } }
方式二:
將long型變爲日期型數據,數據庫
public Date(long date) package cn.mldn.demo; import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { Date date = new Date(System.currentTimeMillis()); // long --> Date System.out.println(date); } }
以上的兩種轉換操做,在往後的開發之中必定會出現,必須使用熟練。
日期格式化操做類:api
public abstract class Calendar 函數
直接已知子類:GregorianCalendarspa
是一個抽象類,須要使用子類對象進行實例化。使用此類能夠將日期精確到毫秒。如下取得一個完整日期。.net
public class CalendarDemo { public static void main(String[] args) { Calendar calendar = new GregorianCalendar(); //取得年份 System.out.println("年:" + calendar.get(Calendar.YEAR)); //取得月份 System.out.println("月:" + (calendar.get(Calendar.MONTH)+1)); //取得日 System.out.println("日:" + calendar.get(Calendar.DAY_OF_MONTH)); //取得時 System.out.println("時:" + calendar.get(Calendar.HOUR_OF_DAY)); //取得分 System.out.println("分:" + calendar.get(Calendar.MINUTE)); //取得秒 System.out.println("秒:" + calendar.get(Calendar.SECOND)); //取得毫秒 System.out.println("毫秒:" +calendar.get(Calendar.MILLISECOND)); } }
注意:在取得月份的時候要加1.code
此類是一個日期的格式化類,專門用來格式化日期。因爲Date類已經包含了完整的日期,只須要將此日期進行格式化操做便可。orm
public abstract class DateFormathtm
此類是一個抽象類,須要子類進行實例化,可是該類自己提供了實例化操做。
public class DateDemo2 { public static void main(String[] args) { DateFormat df1 = null; DateFormat df2 = null; df1 = DateFormat.getDateInstance(); df2 = DateFormat.getDateTimeInstance(); System.out.println("DATE:" + df1.format(new Date())); System.out.println("DATETIME:" + df2.format(new Date())); } }
運行結果:
DATE:2020-11-23 DATETIME:2020-11-23 15:12:17
時間日期模式
在Oracle之中存在了TO_CHAR()函數(最終的數據是字符串),能夠將一個日期型的數據進行格式化的操做顯示,而在Java之中也能夠經過java.text.SimpleDateFormat類完成TO_CHAR()函數的功能和TO_DATE()函數的功能。
可是考慮到實際問題,對於SimpleDateFormat類並不太須要關心它的繼承結構了,只關心三個方法:
· 構造方法:public SimpleDateFormat(String pattern);
· 將日期格式化爲字符串:public final String format(Date date);
· 將字符串格式化爲日期:public Date parse(String source) throws ParseException; 可是除了以上的三個核心操做方法以外,若是要想正常的完成格式化的操做,還須要準備出一些標記:年(yyyy)、月(MM)、日(dd)、時(HH)、分(mm)、秒(ss)、毫秒(SSS)。
範例:將日期變爲字符串,格式化顯示
package cn.mldn.demo; import java.text.SimpleDateFormat; import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { Date date = new Date(); // 當前日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); String str = sdf.format(date); // 將日期格式化爲字符串 System.out.println(str); } }
範例:
將字符串格式化爲日期
package cn.mldn.demo; import java.text.SimpleDateFormat; import java.util.Date; public class TestDemo { public static void main(String[] args) throws Exception { String str = "2020-09-19 12:12:12.122"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); Date date = sdf.parse(str); // 將字符串變爲日期 System.out.println(date); } }
提示:完成了以上的代碼以後,實際上對於數據表和簡單Java類的映射就應該完全完成了,數據庫之中的日期時間能夠經過java.util.Date進行表示。 並且此時發現字符串能夠向基本數據類型(包裝類)、日期類型(SimpleDateFormat)進行轉換,反過來,基本數據類型(String.valueOf())和日期類型(SimpleDateFormat)也能夠向字符串進行轉換。