localdatetime工具类(localdatetime.now())svg xmlns http www w3 org 2000 svg style display none svg
大家好,我是讯享网,很高兴认识大家。
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p></p>
讯享网
Java 8里面添加了许多的新特性,如LocalDate、LocalTime、LocalDateTime。
新增的日期类主要有三种:
java.time.LocalDate ->只对年月日做出处理
默认格式:yyyy-MM-dd, 例如:2021-11-29
java.time.LocalTime ->只对时分秒纳秒做出处理
默认格式:HH:mm:ss.SSSSSSSSS 例如:11:23:40.0
java.time.LocalDateTime ->同时可以处理年月日和时分秒
默认格式:yyyy-MM-ddTHH:mm:ss.SSSSSSSSS 例如:2021-12-01T11:27:22.
方法说明static LocalDateTime now()获取默认时区的当前日期时间,默认格式yyyy-MM-ddTHH:mm:ss.SSSSSSSSSstatic LocalDateTime now(ZoneId zone)从指定时区获取日期时间static LocalDateTime now(Clock clock)从指定闹钟获取日期时间static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second)根据年月日时分秒创建日期时间static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)根据年月日时分秒纳秒创建日期时间static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second)根据年月日时分秒创建日期时间static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)根据年月日时分秒纳秒创建日期时间static LocalDateTime of(LocalDate date, LocalTime time)根据LocalDate与LocalTime创建时间static LocalDateTime ofInstant(Instant instant, ZoneId zone)通过Instant实例与时区创建时间static LocalDateTime ofEpochSecond(long epochSecond, int nanoOfSecond, ZoneOffset offset)通过毫秒数、纳秒数及时区创建时间epochSecond:从1970-01-01T00:00:00到指定时间的秒数
使用示例:
讯享网
方法说明int getYear()获取年份Month getMonth()使用月枚举类型获取月份int getMonthValue()返回数字月份 1-12月int getDayOfMonth()获取日期在该月是第几天DayOfWeek getDayOfWeek()获取日期是星期几int getDayOfYear()获取日期在该年是第几天int getHour()获取小时, 返回0到23int getMinute()获取分钟, 返回0到59int getSecond()获取秒,返回0到59int getNano()获取纳秒,返回0到999,999,999
使用示例:
讯享网
方法说明boolean isBefore(ChronoLocalDateTime<?> other)检查日期是否在指定日期之前boolean isAfter(ChronoLocalDateTime<?> other)检查日期是否在指定日期之后boolean isEqual(ChronoLocalDateTime<?> other)比较日期是否相同int compareTo(ChronoLocalDateTime<?> other)日期比较localDateTimeA.compareTo(localDateTimeB),若相等返回0;若A>B,返回1 ;若A<B返回-1
讯享网
方法说明LocalDateTime plus(TemporalAmount amountToAdd)通过TemporalAmount对象增加指定日期时间,TemporalAmount的实现一般是Period,Duration对象LocalDateTime plus(long amountToAdd, TemporalUnit unit)通用方法,可以通过unit参数控制增加天、周、月、年LocalDateTime plusDays(long daysToAdd)返回增加了*天的LocalDateTime 副本LocalDateTime plusWeeks(long weeksToAdd)返回增加了*周的LocalDateTime 副本LocalDateTime plusMonths(long monthsToAdd)返回增加了*月的LocalDateTime 副本LocalDateTime plusYears(long yearsToAdd)返回增加了*年的LocalDateTime 副本LocalDateTime plusHours(long hours)返回增加了*小时的LocalDateTime 副本LocalDateTime plusMinutes(long minutes)返回增加了*分钟的LocalDateTime 副本LocalDateTime plusSeconds(long seconds)返回增加了*秒的LocalDateTime 副本LocalDateTime plusNanos(long nanos)返回增加了*纳秒的LocalDateTime 副本LocalDateTime minus(TemporalAmount amountToAdd)通过TemporalAmount对象减少指定日期时间,TemporalAmount的实现一般是Period,Duration对象LocalDateTime minus(long amountToAdd, TemporalUnit unit)通用方法,可以通过unit参数控制减少天、周、月、年LocalDateTime minusDays(long daysToSubtract)返回减少了*天的LocalDateTime 副本LocalDateTime minusWeeks(long weeksToSubtract)返回减少了*周的LocalDateTime 副本LocalDateTime minusMonths(long monthsToSubtract)返回减少了*月的LocalDateTime 副本LocalDateTime minusYears(long yearsToSubtract)返回减少了*年的LocalDateTime 副本LocalDateTime minusHours(long hours)返回减少了*小时的LocalDateTime 副本LocalDateTime minusMinutes(long minutes)返回减少了*分钟的LocalDateTime 副本LocalDateTime minusSeconds(long seconds)返回减少了*秒的LocalDateTime 副本LocalDateTime minusNanos(long nanos)返回减少了*纳秒的LocalDateTime 副本
讯享网
方法一:
通过Duration计算两个LocalTime相差的时间
方法二:

讯享网
讯享网
方法三:
通过LocalDateTime类的toEpochSecond()方法,返回时间对应的秒数,然后计算出两个时间相差的间隔
方法说明static LocalDateTime parse(CharSequence text)从文本字符串获取LocalDateTime实例,text格式一般是2007-12-03T10:15:30static LocalDateTime parse(CharSequence text, DateTimeFormatter formatter)使用特定格式化形式从文本字符串获取LocalDateTime实例,text的格式一般与formatter格式一致String format(DateTimeFormatter formatter)将LocalTime转为特定格式的字符串
讯享网
注意:
parse(CharSequence text, DateTimeFormatter formatter)与format(DateTimeFormatter formatter)两个方法表现不一样,parse后输出格式为yyyy-MM-ddTHH:mm:ss.SSSSSSSSS,format后输出格式为formatter样式。
方法说明LocalDateTime with(TemporalAdjuster adjuster)使用传递的TemporalAdjuster时间调节器作为参数来调整此日期时间,并在调整后返回调整后的时间的副本LocalDateTime with(TemporalField field, long newValue)用于将LocalTime的指定字段设置为新值并返回新的时间的副本。此方法可用于更改任何受支持的字段,例如时、分、秒…。如果由于不支持该字段或其他原因而无法设置新值,则会引发异常。LocalDateTime withYear(int year)修改LocalTime变量的年LocalDateTime withMonth(int month)修改LocalTime变量的月份LocalDateTime withDayOfMonth(int dayOfMonth)修改LocalTime变量的日LocalDateTime withHour(int hour)修改LocalTime变量的小时,hour:从0到23LocalDateTime withMinute(int minute)修改LocalDateTime变量的分钟,minute:从0到59LocalDateTime withSecond(int second)修改LocalDateTime变量的秒,second:从0到59LocalDateTime withNano(int nanoOfSecond)修改LocalDateTime变量的纳秒,nanoOfSecond:从0到999,999,999
使用示例:
获取下周二上午10点的日期
讯享网
获取本月最后一天最后一刻
下个月第一个周一的下午五点
讯享网
讯享网
讯享网
讯享网
java.time.LocalTime ->只对时分秒纳秒做出处理
默认格式:HH:mm:ss.SSSSSSSSS 例如:11:23:40.0。
LocalDateTime有时候会不显示秒,有时候我们需要把时间转化为HH:mm:ss格式时,这可能就是个坑,那么如果让LocalDateTime输出指定的格式呢?
解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/189850.html