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日"即可。




你可能感兴趣的:(java类的使用)