java.time LocalDateTime 的基本使用

1. LocalDateTime API

1.1 基础方法

public static LocalDateTime now() 获取当前的日期时间。
public static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second)
获得指定年,月,日,时,分、秒的LocalDateTime实例,将纳秒设置为零。
month:取值1-1212表示12月。
dayOfMonth:取值1-3131表示31日。
hour:取值0-23。
minute:取值0-59。
second:取值0-59public LocalDate toLocalDate() 获取这个日期时间的LocalDate部分。
public LocalTime toLocalTime() 获取此日期时间的LocalTime部分。

public int getYear() 获取年份字段int值。
public int getMonthValue() 获取月份字段int值,从112public int getDayOfMonth() 获取月中day字段int值,从131public int getDayOfYear() 获取年中day字段int值,从1365,或闰年366public int getHour() 获取时间字段,从023public int getMinute() 获取小时字段,从059public int getSecond() 获得秒的字段,从059public DayOfWeek getDayOfWeek() 获取星期几字段,从171为周一。

1.2 日期增减

public LocalDateTime plusYears(long years) 返回此LocalDateTime的副本,添加年,years可为负数。
public LocalDateTime minusYears(long years) 返回此LocalDateTime的副本,减去年,years可为负数。
示例:
LocalDateTime ldt = LocalDateTime.of(2008, 2, 29, 23, 59, 59);
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String ldtStr = ldt.format(format); // 2008-02-29 23:59:59

ldt = ldt.plusYears(1);
ldtStr = ldt.format(format); // 2009-02-28 23:59:59

2008-02-29(闰年)加上一年将导致无效日期2009-02-29,结果会选择最后一个有效日期2009-02-28返回。

注:月、日、时、分、秒的增减与年都一致。

1.3 日期变更

public LocalDateTime withYear(int year) 
返回此年份变更的LocalDateTime的副本。如果日期无效,它将被更改为该月的最后一个有效日期。
注:月、日、时、分、秒的变更与年类似。

1.4 日期比较

public int compareTo(ChronoLocalDateTime<?> other) 将此日期时间与其他日期时间进行比较。
LocalDate a = LocalDate.of(2019, 8, 5);
LocalDate b = LocalDate.of(2019, 8, 1);
LocalDate c = LocalDate.of(2019, 8, 8);
a.compareTo(a); // 0 相等为0
a.compareTo(b); // 4 大于为正数
a.compareTo(c); // -3 小于为负数

public boolean isAfter(ChronoLocalDateTime<?> other) 检查此日期时间是否在指定的日期之后。
public boolean isBefore(ChronoLocalDateTime<?> other) 检查此日期时间是否在指定的日期时间之前。
public boolean isEqual(ChronoLocalDateTime<?> other) 检查此日期时间是否等于指定的日期时间。

1.5 字符串与日期转换

1.日期转换为字符串
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String nowStr = now.format(format);

2.字符串转换为日期
String dateStr = "2019-08-01 14:28:58";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime date = LocalDateTime.parse(dateStr, formatter);
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值