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

时间:2023-12-19 13:34:08

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());
} }