日期字符串相互转换

时间:2022-06-06 17:53:02

一、把日期转换成字符串

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

public class Test01 {
	public static void main(String[] args) {
		Date date = new Date();	//获取当前时间
		System.out.println(date.getClass().getName());	//打印date数据类型
		System.out.println(date);			//打印当前时间
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String format = sdf.format(date);		//将Date类型转换成String类型	
		System.out.println(format.getClass().getName());//打印format数据类型
		System.out.println(format);            //打印当前时间
	}
}


结果:
java.util.Date
Tue Dec 26 19:31:48 CST 2017
java.lang.String
2017-12-26 19:31:48

二、把字符串转换成日期

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

public class Test01 {
	public static void main(String[] args) {
		String time = "1994-11-24 07:11:24";	
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			Date date = sdf.parse(time);
			System.out.println(date);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


结果:
Thu Nov 24 07:11:24 CST 1994

三、对日期加减操作,获得之前,之后的时间。

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

public class DateTest {
	public static void main(String[] args) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date = new Date();
		long dateTime = date.getTime();	//将date类型转换成long类型进行计算
		System.out.println(sdf.format(date));	//以字符串打印当前时间
		
		long time = (60*60+5)*1000;		//60个60分钟加5分钟,乘以1000,一小时零五分转换成毫秒
		dateTime = dateTime + time;		//将当前时间加上一小时零五分
		System.out.println(sdf.format(new Date(dateTime)));	//打印一小时零五分之后的时间
	}

}

结果:
2018-01-07 08:52:21
2018-01-07 09:52:26