文章
类
Date : Date类型的时间(JDK8之前)
-
Date : 日期 -> java.util.Date
-
Date 类型的时间 -> 中间轴类;
类 Date 表示特定的瞬间,精确到毫秒。 -
构造方法:
Date() : 创建一个Date对象,并指向创建对象时的瞬间;
Date(long date) : 创建一个Date对象
1. 先把时间归零
2. 再加上传入的时间毫秒值定格的瞬间 -
成员方法:
long getTime() : 获取时间信息
获取调用此方法Date对象指向的时间瞬间距离时间原点过了多少毫秒!
void setTime(long millis) :设置时间信息
1. 先把时间归零
2. 再加上传入的时间毫秒值定格的瞬间 -
时间类型的转换:
Date --> long 时间
long getTime() : 获取时间信息long 时间 --> Date
Date(long date)
void setTime(long millis)
SimpleDateFormat : 简单日期格式化的类(JDK8之前)
-
String 时间 和 Date 时间进行转换的类
-
SimpleDateFormat的构造方法:
SimpleDateFormat(String pattern) : 创建日期格式化类对象
String pattern : 时间格式代码
y : 年 M: 月 d: 日 H: 小时 m: 分钟 s: 秒
例如: yyyy年MM月dd日 HH:mm:ss
yyyy-MM-dd HH:mm:ss -
格式化的方法:
String format(Date date) : 按照创建SimpleDateFormat对象时传递的日期格式格式化日期 -
解析的方法:
Date parse(String date) : 按照创建SimpleDateFormat对象时传递的日期格式解析字符串时间
//一定要注意: 字符串时间的格式 要和时间代码给的格式一致!!
//异常 : ParseException 解析异常 -
格式化 Format: Date 时间对象 -格式-> String 时间对象 —> 为了更好看的去表示时间
-
Date类中的过时方法 : //这些方法都是JDK设计好的,我无法更改表示时间的样式
String toLocaleString() : 按照本地的时间习惯表示时间
String toGMTString() : 按照零时区的时间习惯表示时间 -
解析 Parse: String 时间对象 -格式-> Date 时间对象
Calendar 日历类(JDK8之前)
-
Calendar 日历类 是一个时间操作的"工具类" -> 它是Date类中大量过时方法的替代
-
关于时间的文化差异:
星期: 周日是一周的第一天
月份: 0-11月 -
构造方法: 有也不能用 -> 因为Calendar类是一个抽象类不能创建对象
-
创建对象的方法:
static Calendar getInstance() -
设置和获取时间信息的方法:
int get(int field): 根据时间字段获取该时间字段的信息
int field : 时间字段 返回值: 时间信息void set(int field,int value): : 把value的值设置到某个时间字段上
void set(int year,int month,int day,int hour,int minute,int second) -
时间字段: 在Calendar类中有一些静态常量: YEAR…
-
转换功能: Date <-> Calendar 之间转换
Calendar --> Date
Date getTime() : 把日历对象上的时间信息定位到Date对象上
Date --> Calendar
void setTime(Date date): 把传入的Date对象的时间瞬间定位在调用方法的日历对象上 -
转换功能: long <-> Calendar 之间转换
Calendar --> long
long getTimeInMillis() 返回此 Calendar 的时间值,以毫秒为单位。
long --> Calendar
void setTimeInMillis(long millis) 用给定的 long 值设置此 Calendar 的当前时间值。
LocalDateTime/LocalDate/LocalTime JDK8时间操作
-
LocalDateTime/LocalDate/LocalTime : 本地日期时间/本地日期/本地时间
-
概述: 此类的操作像Calendar,但是它解决了文化差异! 时间精度: 纳秒
-
创建对象 : 本类的静态方法
static LocalDateTime now() : 获取LocalDateTime对象,时间指向现在
static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second) : 获取LocalDateTime对象,时间指向传入的值 -
LocalDateTime类中的时间间隔方法
-
LocalDateTime类中的成员方法:
long until(Temporal endExclusive, TemporalUnit unit)
Temporal endExclusive : 直到什么时候
Temporal 接口是 LocalDateTime/LocalDate/LocalTime的父接口
TemporalUnit unit : 时间单位的接口 -> 实现类 ->ChronoUnit 枚举类 -
LocalDateTime的get系列方法(获取值)
-
int getYear() :获取年信息
int getMonthValue() :获取月份信息(1-12)
int getDayOfMonth(): 获取天信息
int getHour() :获取小时信息
int getMinute():获取分钟信息
int getSecond(): 获取秒钟信息
DayOfWeek getDayOfWeek():获取星期信息
int getDayOfYear():获取年中天信息
Month getMonth(): 获取月份信息(枚举对象返回)
int getNano():获取纳秒信息 -
LocalDateTime的plus系列方法(加)
-
plus系列方法是对日期字段进行做加法的操作!
LocalDateTime plusYears(long years)
LocalDateTime plusMonths(long months)
LocalDateTime plusDays(long days)
LocalDateTime plusHours(long hours)
LocalDateTime plusMinutes(long minutes)
LocalDateTime plusSeconds(long seconds)
LocalDateTime plusNanos(long nanos)
LocalDateTime plusWeeks(long weeks) -
LocalDateTime的minus系列方法(减)
-
minus系列方法是对日期字段进行做减法的操作!
LocalDateTime minusYears(long years)
LocalDateTime minusMonths(long months)
LocalDateTime minusDays(long days)
LocalDateTime minusHours(long hours)
LocalDateTime minusMinutes(long minutes)
LocalDateTime minusSeconds(long seconds)
LocalDateTime minusNanos(long nanos)
LocalDateTime minusWeeks(long weeks)
注意:- 记得接收, 因为时间修改是生成新的LocalDateTime对象,老的LocalDateTime对象不会改变
- 如果你传入的是正数就是做减法,如果你传入的是负数就是做加法
-
LocalDateTime的with系列方法(设置值)
-
with系列方法是对日期字段进行设置值的操作!
LocalDateTime withYears(long years)
LocalDateTime withMonths(long months)
LocalDateTime withDays(long days)
LocalDateTime withHours(long hours)
LocalDateTime withMinutes(long minutes)
LocalDateTime withSeconds(long seconds)
LocalDateTime withNanos(long nanos)
LocalDateTime withWeeks(long weeks)
注意:- 记得接收, 因为时间修改是生成新的LocalDateTime对象,老的LocalDateTime对象不会改变
DateTimeFormatter JDK8日期格式化类
-
DateTimeFormatter 是替换 SimpleDateFormat 类;
-
DateTimeFormatter 专门用来提供日期格式的类 -> 只用来提供日期格式
-
格式化的方法来自于LocalDateTime;
-
如何创建DateTimeFormatter对象:
static DateTimeFormatter ofPattern(String pattern) : 专门提供日期格式 -
格式化操作:LocalDateTime -> LocalDateTime对象 转换成 String对象
LocalDateTime类中的方法 : String format(DateTimeFormatter formatter) -
解析操作: LocalDateTime的静态方法 -> String对象 转换成 LocalDateTime对象
-
LocalDateTime的静态方法 :static LocalDateTime parse(String 字符串时间,DateTimeFormatter 日期格式)
Period 年月日时间间隔类
-
Period 年月日时间间隔类
-
获取年月日时间间隔对象的方法:
static Period between(LocalDate start, LocalDate end)
Duration 时分秒时间间隔类
-
Duration 时分秒时间间隔类
-
获取时分秒时间间隔类对象的方法:
//Temporal 是LocalDateTime/LocalDate/LocalTime的父接口
static Duration between(Temporal startInclusive, Temporal endExclusive)
//注意不能往里传入 LocalDate 对象 -
long get(TemporalUnit unit) : 获取指定时间单位的时间间隔数(只能传入秒和纳秒单位)