JDK8新增API
引入原因
可变性:像日期和时间这样的类应该是不可变的
偏移性:Date中的年份是从1900开始的,而月份都从0开始
格式化:格式化只对Date有用,Calendar不行
Date、Calendar也不是线程安全的,不能处理闰秒等
类
LocalDate类 x年x月x日
LocalTime类 x时x分x秒.x毫秒
LocalDateTime类 x年x月x日Tx时x分x秒.x毫秒
方法
// 静态方法,根据当前时间创建对象
now()
// 静态方法,指定市区的对象
now(Zoneld zone)
// 静态方法,创建指定日期的对象
of(int year, int month, int dayOfMonth)
// 静态方法,创建指定时间的对象
of(int year, int month, int dayOfMonth, int hour, int minute, int seconds)
// 获取日期在月份的第几天
getDayOfMonth()
// 获取日期在年份的第几天
getDayOfYear()
// 获取日期在周的第几天,星期几(DayOfWeek枚举)
getDayOfWeek()
// 获取月份,一个Month枚举
getMonth()
// 获取月份(1-12)
getMonthValue()
// 获取年份
getYear()
// 获取小时
getHours()
// 获取分钟
getMinute()
// 获取秒
getSecond()
// 将月份天数修改为指定的值并返回新的对象
withDayOfMonth()
// 将年份天数修改为指定的值并返回新的对象
withDayOfYear()
// 将月份修改为指定的值返回并新的对象
withMonth()
// 将年份修改为指定的值返回并新的对象
withYear()
// 将当前日期时间设置为校对器指定的日期时间
with(TemporalAdjuster t)
// 向当前对象添加几天并返回新的对象
plusDays()
// 向当前对象添加几周并返回新的对象
plusWeeks()
// 向当前对象添加几月并返回新的对象
plusMonths()
// 向当前对象添加几年并返回新的对象
plusYears()
// 向当前对象添加几小时并返回新的对象
plusHourss()
// 向当前对象减少几天并返回新的对象
minusDays()
// 向当前对象减少几周并返回新的对象
minusWeeks()
// 向当前对象减少几月并返回新的对象
minusMonths()
// 向当前对象减少几年并返回新的对象
minusYears()
// 向当前对象减少几小时并返回新的对象
minusHourss()
// 添加一个Duration并返回新的对象
plus(TemporalAmount t)
// 减少一个Period并返回新的对象
minus(TemporalAmount t)
// 比较两个LocalData
isBefore()
// 比较两个LocalData
isAfter()
// 判断是否是闰年
isLeapYear()
// 格式化本地日期、时间,返回一个字符串
format(DateTimeFormatter t)
// 将指定格式的字符串解析为日期、时间
parse(Charsequence text)
// 将TemporalAccessot转换为日期、时间对象
from(TemporalAccessot t)