java时间日期类(Date、DateFormat、Calendar)学习

java时间日期类(Date、DateFormat、Calendar)学习

1、Date类

常用方法:long getTime(),用于返回当前时刻的毫秒值

Date d = new Date(2000);
System.out.println(d.getTime());// 获得当前时刻的毫秒值  

2、DateFormat类

DateFormat类是一个抽象类,用的时候常用其子类SimpleDateFormat
常用方法:

  • String format(),用于将时间对象转为指定格式的时间,并以字符串方式返回

  • Date parse(),用于把字符串按照“格式字符串指定的格式”转成相应的时间对象

      import java.util.Date;
      import java.text.DateFormat;
      import java.text.ParseException;
      import java.text.SimpleDateFormat;
    
      public class TrialDateFormat {
    
      	public static void main(String[] args) throws ParseException {
      		// 创建DateFormat对象并指定日期格式
      		DateFormat df = new SimpleDateFormat("yy-MM-dd hh:mm:ss");
      		// 返回一个字符串
      		String str = df.format(new Date());
    
      		// 创建DateFormat对象并指定日期格式
      		DateFormat df2 = new SimpleDateFormat("yy年MM月dd日 hh时mm分ss秒");
      		// 返回一个时间对象,所给字符串与格式指定字符串不匹配时会报错
      		Date d = df2.parse(new String("2019年4月25日 10时21分54秒"));
      		System.out.println(d);
      	}
    
      }  
    

3、Calendar类

Calendar类是一个抽象类,提供了关于日期计算的相关功能。比如:年月日时分秒的展示和计算。GregorianCalendar是Calendar类的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

import java.util.Calendar;
import java.util.GregorianCalendar;

public class TestCalendar {

	public static void main(String[] args) {

		// GregorianCalendar类的一个构造器,给定年月日时分秒,构造实例
		Calendar calendar = new GregorianCalendar(2019, 4, 25, 11, 35, 25);

		// 获得日期相应的元素
		int year = calendar.get(Calendar.YEAR);// 获得日期对象所表示的年份值
		int month = calendar.get(Calendar.MONTH);// 获得日期对象所表示的月份值
		int day = calendar.get(Calendar.DATE);// 获得日期对象所表示几号,也可以使用DAY_OF_MONTH
		int weekday = calendar.get(Calendar.DAY_OF_WEEK);// 获得日期对象所表示的是星期几

		System.out.println(year + "年" + month + "月" + day + "日星期" + weekday);

		// 设置相应的元素
		Calendar c1 = new GregorianCalendar();
		c1.set(2019, 4, 25, 11, 56, 23);// 设置年月日时分秒  
		
		// 计算往后100天是什么时间
		c1.add(Calendar.DATE, 100);  

		// 日期对象和时间对象的转化
		Date d = c1.getTime();
		Calendar c2 = new GregorianCalendar();
		c2.setTime(new Date());
	}

}