JDK 8之前日期和时间的API

JDK 8之前日期和时间的API(1)

System类中的currentTimeMillis():返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。称为时间戳。

java.util.Date类

|---java.sql.Date类

1.两个构造器的使用

构造器一:Date():创建一个对应当前时间的Date对象

构造器二:创建指定毫秒数的Date对象

2.两个方法的使用

toString():显示当前的年、月、日、时、分、秒

getTime():获取当前Date对象对应的毫秒数。(时间戳)

3.java.sql.Date对应着数据库中的日期类型的变量

如何实例化

如何将java.util.Date对象转换为java.sql.Date对象

//如何将java.util.Date对象转换为java.sql.Date对象
//情况一:
// Date date4 = new java.sql.Date(2343243242323L);
// java.sql.Date date5 = (java.sql.Date) date4;
//情况二:
Date date6 = new Date();
java.sql.Date date7 = new java.sql.Date(date6.getTime());
day22
JDK 8之前日期和时间的API(2)
一、SimpleDateFormat的使用:SimpleDateFormat对日期Date类的格式化和解析

1.两个操作:

1.1 格式化:日期 --->字符串(format)

1.2 解析:格式化的逆过程,字符串 ---> 日期(parse,注意抛出异常throws ParseException)

2.SimpleDateFormat的实例化(按照指定的方式格式化和解析:调用带参的构造器)

二、Calendar日历类(抽象类)的使用

方式一:创建其子类(GregorianCalendar)的对象

System.out.println(calendar.getClass());
方式二:调用其静态方法getInstance()

Calendar calendar = Calendar.getInstance();
常用方法:

get()
set()
add()
getTime():日历类---> Date
setTime():Date ---> 日历类
jdk 8中日期时间API的测试
偏移量
年是从1900年开始的,月份是从0开始的

LocalDate、LocalTime、LocalDateTime 的使用
LocalDateTime相较于LocalDate、LocalTime,使用频率要高
类似于Calendar
now():获取当前的日期(LocalDate)、时间(LocalTime)、日期+时间(LocalDateTime)

of():设置指定的年、月、日、时、分、秒。没有偏移量

getXxx():获取相关的属性

getDayOfMonth()

getDayOfWeek()

getMinute()等

withXxx():体现不可变性,原来的数据不会改变。

withDayOfMonth 修改日期

withHour 修改小时

Instanct的使用
Instant:时间线上的一个瞬时点。这可能被用来记录应用程序中的事件时间戳

now():获取本初子午线对应的标准时间
atOffset():添加时间偏移量
toEpochMilli():获取自1970年1月1日0时0分0秒(UTC)开始的毫秒数 ---> Date类的getTime()
ofEpochMilli():通过给定的毫秒数,获取Instant实例 -->Date(long millis)
DateTimeFormatter:格式化或解析日期、时间
方式一:预定义的标准格式。如:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME

DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
方式二:本地化相关的格式。如:ofLocalizedDateTime()

FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT :适用于LocalDateTime

DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
本地化相关的格式。如:ofLocalizedDate()

FormatStyle.FULL / FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT : 适用于LocalDate

DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
重点: 方式三:自定义的格式。如:ofPattern(“yyyy-MM-dd hh:mm:ss”)

DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");

posted @ 2022-04-19 15:34  93丶Fss  阅读(66)  评论(0)    收藏  举报