日期时间相关的类

分界线jdk8

jdk8之前和之后分别提供了一些日期和时间的类,推荐使用jdk8之后的日期和时间类

Date类型

这是一个jdk8之前的类型,其中有很多方法已经过时了,选取了一些没有过时的API

java 复制代码
//jdk1.8之前的日期 Date
Date date = new Date();
// 从1970年1月1日 00:00:00开始计算的毫秒数
long time = date.getTime();
// 设置毫秒值
date.setTime(time + 1000);
// 通过毫秒值创建日期
Date date2 = new Date(time);

SimpleDateFormat

这是jdk8之前的时间格式化的类

  • 分别继承了DateFormat(格式化日期)和Format(格式化毫秒值)
  • 可以格式化日期或者毫秒值

常见API

  • SimpleDateFormat:构造器
  • format:格式化函数
  • parse:解析函数,前端传递给后端的都是字符串,需要这个API进行解析
java 复制代码
//jdk1.8之前的日期格式化 SimpleDateFormat
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 日期转字符串 格式化
String dateStr = dateFormat.format(new Date());
// 字符串转日期 解析
Date parseDate = dateFormat.parse(dateStr);
// 如何判断两个时间的大小 通过毫秒值比较
Boolean flag =  date.getTime() > date2.getTime();

Calendar

  • Calendar 这个是日历类,但这是一个抽象类
  • 优点:可以单独地获取和修改年月日时分秒
  • 无法使用构造器,使用类提供的静态实例方法
    常见API
相关推荐
karry_k11 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k11 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking14 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩17 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码19 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev21 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波1 天前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式