Java Learn(四)

Java中的java.util.Date类

日期相关的类

标准时间:1970年1月1日0时0分0秒。每个地区的标准时间是不一样的,因为存在时区的差异新,中国属于东八区,因此标准时间是1970年1月1日8时0分0秒

1.Date()类

1.基本概念:

java.util.Date类用于描述日期信息:年月日时分秒,可以精确到毫秒。1秒=1000毫秒。

2.常用方法:

Date()

用于无参的方式构造对象,默认使用当前的系统时间。

Date(long date)

根据参数指定的毫秒数来构造对象

其中参数为距离1970年1月1日0时0分0秒的毫秒数(与File类搭配使用)

Date getTime()

获取当前对象距离1970年1月1日0时0分0秒的毫秒数

Date setTime(long time)

用于设置当前对象的时间为参数指定的毫秒数,距离标准时间

2.SimpleDateFormat类

1.基本概念:

java.text.SimpleDateFormat类用于格式化和解析日期,也就是实现日期类型和字符串之间的相关转换。

2.常用方法:

SimpleDateFormat(String pattern)

根据参数指定的字符串模式来构造对象。

y代表年,M代表月,d代表日,H代表时,m代表分,s代表秒

public final String format(Date date)

用于将Date类型转换成String类型

public Date parse(String source) throws ParseException

用于将String类型转换成Date类型

3.Calendar类

1.基本概念:

java.util.Calendar类用于描述日期信息的,该类中很多方法取代了Date类的过时方法。

该类是一个抽象类,不能实例化对象。

2.常用方法:

static Calendar getInstance()

用户获取当前类的引用

该方法的返回值真正指向的是Calendar类的子类对象,这是多态的第三种用法。

void set(int year, int month, int date, int hourOfDay, int minute, int second)

根据参数设置年月日时分秒。

Date getTime()

用于将Calendar类型转换为Date类型并返回。

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
 
public class TestDate {
 
	public static void main(String[] args) throws Exception{
		// 每个地区的标准时间是不一样的,因为存在时区的差异新,中国属于东八区,因此标准时间是1970年1月1日8时0分0秒
		// 1.使用各种不同的版本构造对象
		Date d1 = new Date();
		System.out.println("d1=" + d1);// 打印系统时间
 
		Date d2 = new Date(1000);
		System.out.println("d2=" + d2);// 1000毫秒
		
		
 
		// Date d3 = new Date(2008 - 1900, 8 - 1, 8, 20, 8, 8);//
		// 此方法已过时,年份减去1900年,月份减去1,表示当前计算时间
		// System.out.println("d3=" + d3);
		//2.使用取代的方法来构造年月日时分秒
		//2.1获取calendar类型的对象
		Calendar c1 = Calendar.getInstance();
		//2.2调用set()方法来设置年月日时分秒
		c1.set(2008, 8-1,8,20,8,8);
		//2.3转换成Date类型
		Date d6 = c1.getTime();
		System.out.println("d6 = "+d6);
		//3.调整输出格式
		
		
			
 
		long msec = d1.getTime();
		System.out.println("距离当前系统时间标准时间的好秒速msec=" + msec);
		d1.setTime(2000);
		System.out.println("d1 = " + d1);// 距离1970 1 1 8 0 2
 
		// 1.创建SimpleDateFormat类型的对象
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		// 将上述日期信息按照构造方法指定的格式来转换成字符串类型
		String str = sdf.format(d1);
		System.out.println(str);
		//根据字符串转换成日期类型
		Date d5 = sdf.parse(str);
		System.out.println(d5);
 
	}
 
}