1. 程式人生 > >java中Date與String的相互轉化

java中Date與String的相互轉化

1:大體思路

這種轉換要用到java.text.SimpleDateFormat類

字串轉換成日期型別:
方法1:

也是最簡單的方法 Date date=new Date("2008-04-14");

方法2:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小寫的mm表示的是分鐘
String dstr="2008-4-24";
java.util.Date date=sdf.parse(dstr);



日期轉換成字串:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date=new java.util.Date();
String str=sdf.format(date);

2:程式例項

package test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
public class StringOrDate {
	public static String dateToString(Date date, String type) {
		String str = null;
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		if (type.equals("SHORT")) {
			// 07-1-18
			format = DateFormat.getDateInstance(DateFormat.SHORT);
			str = format.format(date);
		} else if (type.equals("MEDIUM")) {
			// 2007-1-18
			format = DateFormat.getDateInstance(DateFormat.MEDIUM);
			str = format.format(date);
		} else if (type.equals("FULL")) {
			// 2007年1月18日 星期四
			format = DateFormat.getDateInstance(DateFormat.FULL);
			str = format.format(date);
		}
		return str;
	}
	public static Date stringToDate(String str) {
		DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		Date date = null;
		try {
			// Fri Feb 24 00:00:00 CST 2012
			date = format.parse(str); 
		} catch (ParseException e) {
			e.printStackTrace();
		}
		// 2012-02-24
		date = java.sql.Date.valueOf(str);
											
		return date;
	}
	public static void main(String[] args) {
		Date date = new Date();
		System.out.println(StringOrDate.dateToString(date, "MEDIUM"));
		String str = "2012-2-24";
		System.out.println(StringOrDate.stringToDate(str));
	}