J2SE I:Java日期操做類有哪些

一.日期操做類

java.util.Date

若是要想經過這個類取得當前的日期時間,那麼只須要直接實例化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

二.Calendar類

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

三.日期格式化操做類:

DateFormat類

此類是一個日期的格式化類,專門用來格式化日期。因爲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

SimpleDateFormat

時間日期模式

在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)也能夠向字符串進行轉換。 

相關文章
相關標籤/搜索