java中日期时间表示

java.util.Date:

缺点:

1.设计上存在问题【月份从1开始,而日期从0开始】

2.线程不安全

3.处理时区不方便

4.Date类的一些构造函数和方法已弃用【因为兼容性问题】

替代者:Java 8开始,引入java.time. *

优点:

1.清晰性【Calendar中,月份从0开始,一周的天数从1开始】

2.线程安全

3.易于使用

4.时区处理【使用Local和ZonedDate/Time API处理】

5.精确的时间信息【精确到纳秒】
用法:

java 复制代码
1.表示日期(年月日):LocalDate [eg:LocalDate date=LocalDate.of(2024,Month.March,31); --2024年3月31日]
2.表示时间(精确到纳秒):LocalTime[eg:LocalTime time=LocalTime.of(12,30); --12点30分]
3.表示日期和时间:LocalDateTime[eg:LocalDateTime dt=LocalDateTime.of(2024,Month.MARCH,31,12,30); --2024年3月31日12点30分]
4.带有时区的日期和时间:ZonedDateTime[eg:ZonedDateTime zonedDt=ZonedDateTime.of(dt,ZoneId.of("Asia/Shanghai"); --2024年3月31日12点30分(上海时区)]
相关推荐
阿维的博客日记1 小时前
MultipartFile 是不是表示仅仅是一个分片?
java·后端·spring·multipartfile
程序员无隅1 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
Python+992 小时前
Java 枚举类(Enum)详解:从基础到高级应用
java·开发语言·python
二炮手亮子2 小时前
浅记java线程池
java·开发语言
一路向北North2 小时前
Spring Security OAuth2.0(23):分布式系统授权-转发明文给微服务
java·spring·微服务
爱吃牛肉的大老虎4 小时前
rust基础之环境搭建
java·开发语言·rust
tellmewhoisi5 小时前
多版本共用redis的token有效期校验(过期重新登录)
java·redis·缓存
疯狂打码的少年5 小时前
【软件工程】结构化设计:模块独立性与耦合内聚
java·开发语言·笔记·软件工程
乐观的Terry5 小时前
3、数据库设计与领域实体
java·数据库·spring boot·spring cloud·ai编程
C++、Java和Python的菜鸟6 小时前
第4章 后端Web基础(基础知识)
java·开发语言