java关于时间类

jdk7

Date 时间

|--------------------------------|------------|
| 方法 | 说明 |
| public Date() | 创建对象表示当前时间 |
| public Date(long date) | 创建对象表示指定时间 |
| public void setTime(long date) | 设置毫秒指 |
| public void getTime() | 获取毫秒值 |

SimpleDateFormat 日期格式化

|-----------------------------------------|-------------------|
| 方法 | 说明 |
| public SimpleDateFormat() | 默认格式 |
| public SimpleDateFormat(String pattern) | 指定格式 |
| public final String format(Date date) | 格式化(日期对象 -> 字符串) |
| public Date parse(String source) | 解析(字符串 -> 日期对象 ) |

Calender 日历

|---------------------------------------|------------------|
| 方法 | 说明 |
| public static Calendar getInstance() | 获取当前时间对象 |
| public final Date getTime() | 获取日期对象 |
| public final setTime(Date date) | 给日历设置日期对象 |
| public long getTimeInMillis() | 拿到时间毫秒值 |
| public int get(int field) | 取日历中的某个字段信息 |
| public void set(int field,int value) | 修改日历的某个字段信息 |
| public void add(int field,int amount) | 为某个字段增加 / 减少指定的值 |

jdk8

Date 时间

ZoneId 时区

|--------------------------------------------|------------------|
| 方法 | 说明 |
| static Set<String> getAvailableZoneIds() | 获取 Java 中支持的所有时区 |
| static ZoneId systemDefault() | 获取系统默认时区 |
| static ZoneId of(String zoneId) | 获取一个指定时区 |

Instant 时间戳

|-------------------------------------------|------------------------------|
| 方法 | 说明 |
| static Instant now()`` | 获取当前时间的 Instant 对象(标准时间) |
| static Instant ofXxx(long epochMilli) | 根据(秒 / 毫秒 / 纳秒)获取 Instant 对象 |
| ZonedDateTime atZone(ZoneId zone) | 指定时区 |
| boolean isXxx(Instant otherInstant) | 判断系列的方法 |
| Instant minusXxx(long millisToSubtract) | 减少时间系列的方法 |
| Instant plusXxx(long millisToSubtract) | 增加时间系列的方法 |

ZoneDateTime 带时区的时间

|-------------------------------------|--------------------------|
| 方法 | 说明 |
| static ZonedDateTimenow()`` | 获取当前时间的 ZonedDateTime 对象 |
| static ZonedDateTime ofXxx(...) | 获取指定时间的 ZonedDateTime 对象 |
| ZonedDateTime withXxx(时间) | 修改时间系列的方法 |
| ZonedDateTime minusXxx(时间) | 减少时间系列的方法 |
| ZonedDateTime plusXxx(时间) | 增加时间系列的方法 |

SimpleDateFormat 日期格式化

|----------------------------------------|-----------|
| 方法 | 说明 |
| static DateTimeFormatter ofPattern(格式) | 获取格式对象 |
| String format(时间对象) | 按照指定方式格式化 |

Calendat 日历

LocalDate、LocalTime、LocalDateTime

|--------------------------------|-------------------------------|
| 方法 | 说明 |
| static XXX now() | 获取当前时间的对象。 |
| static XXX of(...) | 获取指定时间的对象 |
| get开头的方法 | 获取日历中的年、月、日、时、分、秒等信息 |
| isBefore, isAfter | 比较两个 LocalDate |
| with开头的 | 修改时间系列的方法 |
| minus开头的 | 减少时间系列的方法 |
| plus开头的 | 增加时间系列的方法 |
| public LocalDate toLocalDate() | localTimeDate转换成一个LocalDate对象 |
| public LocalTime toLocalTime() | localTimeDate转换成一个LocalTime对象 |

时间工具类

|------------|------------------------------|
| 方法 | 说明 |
| Duration | 用于计算两个时间间隔(秒,纳秒) |
| Period | 用于计算两个日期间隔(年、月、日) |
| ChronoUnit | 用于计算两个日期间隔(年月日时分秒毫秒微秒纳秒世纪纪元) |

相关推荐
high一马平川3 分钟前
# SystemUI Dagger2 精读 · 第 2 章 @Inject:1200 处构造注入,和 1 处例外
android·java·kotlin
小陈从不会敲代码5 分钟前
JavaEE面试复习(多线程-初阶)
java·面试·java-ee
周厉6 分钟前
酒店PMS系统设计:房型房价管理与动态价格优先级实现(Java/MySQL)
java·数据库·pms酒店系统
一碗白开水一12 分钟前
Day 5 · 弹性 | 微观
java·前端·数据库
迪飞特科技13 分钟前
大模型接入业务系统:API、本地部署、RAG、智能体四种路线怎么选
java·数据库·人工智能·知识图谱·deepseek·本地化大模型
vipxieliang32 分钟前
ValidX 验证器缓存机制:如何提升验证性能
java·spring boot
未秃头的程序猿43 分钟前
Spring Cloud Gateway 做统一加解密,我在请求体上栽了三天
java·后端·架构
Rain的Java大神之路43 分钟前
别再上来就堆 Redis!点赞系统从打挂数据库到 18w 写峰值,我把这套方案讲透了
java·后端·面试
SimonKing1 小时前
开源文档解析天花板 MinerU 4.0:PDF / 图片 / Office 等任意文档都支持
java·后端·程序员