1 🚩第一代日期类,Date类
1.1 🏃🏻Date的使用步骤
方式1创建Date对象获取日期
(1)创建Date对象;
【直接输出对象,默认是按照国外格式;所以需要初始化】
(2)日期格式化;【需要使用SimpleDateFormat 类】
方式2 将毫秒值转为日期
(1)自行定义或者通过系统获取毫秒数;
(2)通过构造器,转为日期;
方式3字符串转日期
(1)定义日期格式,字符串(与日期格式化,格式一致)
(2)创建SimpleDateFormat 对象
(3)使用SimpleDateFormat类的parse()方法;
(4)用Date 类型接收
1.2 🌰代码示例:
public class DateDemo { public static void main(String[] args) throws ParseException { System.out.println("=================默认输出==============="); // 创建Date对象 Date date = new Date(); // 默认输出是按照外国的规范 System.out.println(date); System.out.println("===============格式化输出==============="); // 日期格式化 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E"); String dates = simpleDateFormat.format(date); System.out.println(dates); System.out.println("===============毫秒转日期================="); // 可以把毫秒数转为时间 long time = System.currentTimeMillis(); int numb= 1000; Date date2 = new Date(numb); System.out.println(date2); System.out.println("=================字符串转日期================"); // 字符串可以转为Date型 String datestr = "2022年07月13日 20:54:48 周三"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E"); Date datestrd = sdf.parse(datestr); System.out.println(datestrd); } }
2 🚩第二代日期类Calendar类
2.1 🏃🏻简介:
Calendar类是一个抽象类,构造器私有化的,
提供了很多属性
2.2 🌰使用代码示例:
public class CalenderDemo { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); System.out.print(calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月"); } }
3 🚩第三代日期类(JDK8加进的)
3.1 🌰LocalDateTime类& 使用示例
public class LocalDateTime_ { public static void main(String[] args) { LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDateTime); System.out.println("===================================="); int time = localDateTime.getHour(); System.out.println(time+"时"+localDateTime.getMinute()+"分"+localDateTime.getSecond()+"秒"); } }
3.2 🏃🏻时间戳Instant
时间戳与Instant相互转换
3.3 🌰代码示例
public class Instant_ { public static void main(String[] args) { Instant instant = Instant.now(); System.out.println(instant); // Instant转换Date Date date = Date.from(instant); // Instant转换Date Date date1 = new Date(); Instant instant1 = date1.toInstant(); System.out.println(instant1); } }
3.4 🏃🏻第三代日期类提供了plus方法和minus方法可以对时间进行加减
3.5 🌰代码示例
public class LocalDate_ { public static void main(String[] args) { LocalDate localDate = LocalDate.now();//可以获取到天 LocalDateTime localDateTime = LocalDateTime.now();//可以获取到时分秒 //提供了plus方法,和minus方法,可以对当前时间进行加减; // 添加 LocalDate ldt = localDate.plusDays(20); LocalDateTime localDateTime1 = localDateTime.plusDays(20); // 相减 LocalDate ldt2 = localDate.minusDays(20); LocalDateTime localDateTime2 = localDateTime.minusDays(20); } }