00 08Java高級之日期操作類

1 Date日期處理類

從整體的Java來講一直在強調簡單Java類的主要設計來自於數據表的結構,那麼在數據表的結構裏面常用的類型:數字、字符串、日期。

在Java裏面提供有一個java.util.Data的類,這個類如果直接實例化,就可以獲取當前日期時間。
範例:觀察java.util.Data類

package cn.victor.demo;

import java.util.Date;

public class DateDemo {

	public static void main(String[] args) {
		Date date = new Date();
		System.out.println(date);
	}
}

這個時候需要進一步去觀察Data類中的構造方法:

public Date() {
    this(System.currentTimeMillis());
}

public Date(long date) {
    fastTime = date;
}

通過以上的源代碼分析可以得出一個結論:Date類中只是對long數據的一種包裝。所以Date類中一定提供有所謂的日期與long數據類型之間轉換的方法:
(1)將long轉爲日期:public Date​(long date)
(2)將Date轉爲long:public long getTime()
範例:觀察Date與long之間的轉換

package cn.victor.demo;

import java.util.Date;

public class DateDemo {

	public static void main(String[] args) {
		Date date = new Date();
		long time = date.getTime() + 864000000;
		System.out.println(new Date(time));
	}
}


long之中可以保存毫秒的數據級,這樣方便程序的處理。

2 SimpleDateFormat日期處理類

雖然Date可以獲取當前的日期時間,但是默認情況下Date類輸出的日期時間結構並不能夠被國人所習慣,現在就需要對顯示的格式進行格式化處理,爲了可以格式化日期,在java.text包中提供有SimpleDateFormat程序類。該類是DateFormat的子類,在該類中提供有如下方法:
(1)【DateFormat】將日期格式化:public final String format​(Date date)
(2)【DateFormat】將字符串轉爲日期:public Date parse​(String source) throws ParseException
(3)構造方法:public SimpleDateFormat​(String pattern)
|——日期格式:年(yyyy)、月(MM)、日(dd)、時(HH)、分(mm)、秒(ss)、毫秒(SSS)。

範例:格式化日期顯示

package cn.victor.demo;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo {

	public static void main(String[] args) {
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
		String str = sdf.format(date);
		System.out.println(str);
	}
}


除了可以將日格式化爲字符串之後,也可實現字符串與日期之間的轉換處理。
範例:將日期轉換爲Date

package cn.victor.demo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateDemo {

	public static void main(String[] args) throws ParseException {
		String birthday = "1996-10-15 23:23:23.233";
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
		Date date = sdf.parse(birthday);
		
		System.out.println(date);
	}
}


如果在進行字符串定義的時候,所使用的日期時間數字超過了指定的合理範圍,則會自動進行進位處理。
範例:數字格式化

package cn.victor.demo;

import java.text.NumberFormat;
import java.text.ParseException;

public class DateDemo {

	public static void main(String[] args) throws ParseException {
		double money = 23243434.233333;
		NumberFormat nf = NumberFormat.getInstance();
		
		System.out.println(nf.format(money));
	}
}


通過學習發現,String字符換可以向所有類型轉換,基本類型、日期類型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章