Java中的日期时间类Date、DateFormate、Calendar

文章目录

  • 一、Date
  • 二、DateFormat
  • Calendar
  • 总结!


一、Date

Java.util.Date 表示特定的瞬间,精确到毫秒,例如1970-01-01 00:00:00;
Date的构造方法:

Date():无参构造,表示当前时间。
Date(long date):传递毫秒值,转化为Date日期

Date常用方法:

equals(Object date):用此方法的Date对象和指定日期相等时候返回true,否则返回false。
getTime( ):返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
toString( ):把此 Date 对象转换为String。

示例:
Java中的日期时间类Date、DateFormate、Calendar_第1张图片

二、DateFormat

DateFormat是一个抽象类,用于日期格式转换,在日期和文本之间相互转换。
Java中的日期时间类Date、DateFormate、Calendar_第2张图片

String format(Date date):把日期转为字符串
Date parse(String source):把字符串转为日期

SimpleDateFormat是DateFormat的子类,也有上述两个方法,但是注意parse会抛出异常,必须对异常进行处理,SimpleDateFormat有需要注意的几个类:
y 年
M 月
d 日
H 时
m 分
s 秒

示例:
Java中的日期时间类Date、DateFormate、Calendar_第3张图片


Calendar

Java.util.Calender日历类,是一个抽象类不能实例化,使用的时候需要通过getInstance来获取子类使用。
常用的成员方法:

get(int filed):获取日历给定的字段的值;
set(int field,int value):将给定字段设定成指定值;
add(int field,int amount):根据一定的规则,将日历指定的字段减去或加上时间量;
Date getTime():返回一个表示Calendar时间值的Date对象。

Calendar类对象字段类型:
Java中的日期时间类Date、DateFormate、Calendar_第4张图片
示例:

import java.util.Calendar;
import java.util.Date;

public class CalendarTest {
    public static void main(String[] args) {
        // getInstance来获取Calendar的子类
        Calendar calendar = Calendar.getInstance();

        // 获取年月日等
        int year = calendar.get(Calendar.YEAR);
        System.out.println(year);  // 2022
        int month = calendar.get(Calendar.MONTH);
        System.out.println(month);  // 10,比中国的月份少1,实际中国是11月
        int date = calendar.get(Calendar.DATE);
        System.out.println(date);  // 17
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));  // 17
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK)); // 5,这里的1实际是星期日,0-6表示星期六到星期一

        // 设置年月日
        System.out.println("==============================");
        calendar.set(Calendar.YEAR, 2022);
        calendar.set(Calendar.MONTH, 0);
        calendar.set(Calendar.DATE, 40);
        System.out.println(calendar.get(Calendar.YEAR));  // 2022
        System.out.println(calendar.get(Calendar.MONTH));  // 0
        System.out.println(calendar.get(Calendar.DATE));  // 1
        calendar.set(2022, 0, 1);  // 一次性设置多个

        // 增加减少指定时间范围
        System.out.println("==============================");
        calendar.add(Calendar.YEAR, -2);  // 减2年
        calendar.add(Calendar.MONTH, 3);  // 加3个月
        calendar.add(Calendar.DATE, 20);  // 加20天
        System.out.println(calendar.get(Calendar.YEAR));  // 2020
        System.out.println(calendar.get(Calendar.MONTH));  // 3
        System.out.println(calendar.get(Calendar.DATE));  // 21

        // 把日历类转化为日期
        System.out.println("==============================");
        Date date2 = calendar.getTime();
        System.out.println(date2);  // Tue Apr 21 13:53:02 CST 2020
    }
}

总结!

你可能感兴趣的:(Java,java,jvm,开发语言)