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分(上海时区)]
相关推荐
Wang's Blog3 小时前
Java 项目部署之 Docker工具快速入门: 使用 Docker 镜像命令练习
java·docker
企业数字化笔记4 小时前
多租户系统从哪里开始设计?租户身份、数据隔离、权限与套餐的整体方案
java·spring boot·后端·junit
tiger从容淡定是人生4 小时前
从 Gemini 的任务示例出发:AI 能否从知识中推导工作流?
java·人工智能·aigc·知识图谱·创业创新·零知识证明
Nebula_g4 小时前
JavaSE高级:动态代理
java·开发语言·算法·javase
高级程序源4 小时前
springboot校园外卖平台13676-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·tomcat·maven·课程设计
怦然丶心动4 小时前
用 Java 把干支历法算清楚:从节气切年到可读摘要
java·算法·vue·独立开发·spring boot / spring
青春逝如流水4 小时前
Java 线程与操作系统、硬件的关系:状态、映射与差异
java·开发语言·多线程·ai文章
深入云栈4 小时前
Netty 4.2.x 源码深度解析 (十八):ChannelOutboundBuffer 写缓冲区 —— 发送队列与流量控制
java·后端·架构
我是人✓4 小时前
Java核心术语与内存机制深度解析
java
xuxigifxfh4 小时前
面试记录2026
java·mysql·面试·职场和发展