1. 程式人生 > >String型別和Date型別之間的轉換

String型別和Date型別之間的轉換

在實際應用中,很多時候會用到String和Date型別之間的轉換,比如:

在javaEE專案中,會接受到日期格式的String,我們如果要將其轉換為Date格式,就會用到SimpleDateFormat類。

1.將String轉換為Date類

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

public class StringToDate {

	public static void main(String[] args) {
		//獲得一個時間格式的字串
		String dateStr = "2016-12-31";
		//獲得SimpleDateFormat類,我們轉換為yyyy-MM-dd的時間格式
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		try {
			//使用SimpleDateFormat的parse()方法生成Date
			Date date = sf.parse(dateStr);
			//列印Date
			System.out.println(date);
		} catch (ParseException e) {
			e.printStackTrace();
		}

	}

}
2.將Date轉換為String型別

Object類中為我們提供了toString方法,然而該方法對Date類進行轉換時,往往達不到我們想要的效果,我們試一下這樣的程式碼。

import java.util.Date;

public class DateToString1 {

	public static void main(String[] args) {
		// 獲得當前時間
		Date date = new Date();
		//列印toString()
		System.out.println("當前時間:"+date.toString());
	}

}
這時候打印出來的String為:當前時間:
Sat Dec 31 13:59:22 CST 2016

what?!!

當然,這是一種格式的時間,但是對於客戶而言,這樣的時間顯然是不行的,那麼我們就需要將其轉換為我們常用到的格式:yyyy-MM-dd

廢話不多說,看程式碼:

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

public class DateToString1 {

	public static void main(String[] args) {
		// 獲得當前時間
		Date date = new Date();
		// 獲得SimpleDateFormat類
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
		//列印當前時間
		System.out.println("當前時間:"+sf.format(date));
	}

}
這時候的列印結果為: 當前時間:2016-12-31

列印結果已經受到我們控制了,我們還可以打印出:"2016年12月31日這樣的結果。

只要把"yyyy-MM-dd"修改為"yyyy年MM月dd日"即可。