-
LocalTime
java.time.LocalTime
LcoalTime是一个不可变的日期时间对象,代表一个时间,通常被看作小时-秒。它不存储或表示日期或时区。 相反,它是在挂钟上看到的当地时间的描述。
这个类是不可变的和线程安全的,无构造方法
常用方法
字段 方法 描述 LocalDataTime atDate(LocalDate date) 结合这个时间创建一个LocalDateTime的日期 static LocalDate now() 从默认时区的系统时钟获取当前时间 public class Test { public static void main(String[] args) { System.out.println(LocalTime.now()); //13:37:50.734364800 System.out.println(LocalTime.now().atDate(LocalDate.now())); //2024-03-16T13:37:50.734364800 } }
-
LocalDate
java.time.LocalDate
LocalDate是一个不可变的日期时间对象,表示日期,通常被视为年月日。 也可以访问其他日期字段,例如日期,星期几和星期.该类不存储或表示时间或时区。 相反,它是日期的描述,用于生日。 它不能代表时间线上的即时信息,而没有附加信息,如偏移或时区
这个类是不可变得和线程安全的,无构造方法
常用方法
字段 方法 描述 LocalDateTime atTime(Localtime time) 结合此日期创建一个LocalDateTime static LocalDate now() 从默认时区的系统时钟获取当前日期 public class Test { public static void main(String[] args) { System.out.println(LocalDate.now()); //2024-03-16 System.out.println(LocalDate.now().atTime(LocalTime.now())); //2024-03-16T13:51:23.286315600 } }
-
LocalDateTime
java.time.LocalDateTime
LocalDateTime是一个不可变的日期时间对象,代表日期时间,通常被视为年 - 月 - 日 - 时 - 分 - 秒。 也可以访问其他日期和时间字段,例如日期,星期几和星期。 时间表示为纳秒精度。该类不存储或表示时区。 相反,它是对日子的描述,如用于生日,结合当地时间在挂钟上看到的。 它不能代表时间线上的即时信息,而没有附加信息,如偏移或时区。
这个类是不可变的和线程安全的,无构造方法
常用方法
字段 方法 描述 static LocalDateTime now() 从指定的时钟获取当前的日期时间 int getYear() 获取年份 Month getMonth() 使用Month枚举获取月份,即:Month.getValue()获取月份 int getDayOfMonth() 获取当月日期 int getHour() 获取时间 int getMinute() 获取小时 int getSecond() 获取秒 int getDayOfYear() 获取一年中的第几天 DayOfWeek getDayOfWeek() 使用DayOfWeek枚举获取星期,即:DayOfWeek.getValue() public class Test { public static void main(String[] args) { LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDateTime); //2024-03-16T14:20:47.683781800 System.out.println(localDateTime.getYear()); //2024 System.out.println(localDateTime.getMonth().getValue()); //3 System.out.println(localDateTime.getDayOfMonth()); //16 System.out.println(localDateTime.getHour()); //14 System.out.println(localDateTime.getMinute()); //20 System.out.println(localDateTime.getSecond()); //47 System.out.println(localDateTime.getDayOfYear()); //76 System.out.println(localDateTime.getDayOfWeek().getValue()); //星期六--6 } }
-
扩展:
Mysql中的DATETIME与TIMESTAMP
两者的时间格式都是年-月-日 时:分:秒
TIMESTAMP与时区有关,储存空间比较小,计算日期更方便更快
总之:使用LocalDAteTime.now() 向数据库储存时间,在不考虑时区和性能的情况下可以使用DATETIME,反之使用TIMESTAMP,TIMESTAMP的时间上限在2038年
这方面具体可以参考其他博客
LocalTime&LocalDate&LocalDateTime
于 2024-03-16 14:42:06 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)