当前位置: 首页 > news >正文

java中的日期处理:只显示日期,不显示时间的两种处理方式

需要记录某个操作的操作时间,数据库中该字段为DATE类型;

插入数据的时候,使用数据库函数NOW()获取当前日期并插入:

<insert id="batchInsertOrgTestersByProjectId">insert into project_org_testers(project_unid, org_tester_id,franchise_date) values<foreach item="item" index="index" collection="list" separator=",">(#{item.projectUnid},#{item.orgTesterId},NOW() )</foreach>
</insert>

插入后,数据库中:

8867fbac371f4b3db0a759cab7ace942.png

但是读取出来的日期显示为2025-01-08T00:00:00.000+08:00。希望读取之后,页面上展示的也是只有日期,没有时间,两种方式:

1、使用`SimpleDateFormat`格式化日期为一个字符串

因为java.util.Date实际上包含了日期和时间,所以当使用java.util.Date类型读取数据库中的Date类型数据时,默认会包含时间信息,可以在输出日期时使用SimpleDateFormat来格式化日期,只显示日期部分:

import java.text.SimpleDateFormat;
import java.util.Date;public class Main {public static void main(String[] args) {Date date = ... // 从数据库中读取的Date对象SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String formattedDate = sdf.format(date);System.out.println(formattedDate); // 只显示日期部分}
}

但是这样有一个缺点,它返回的是一个字符串,而不再是日期,在后续统计计算时可能不方便,所以更推荐使用第2种方案 

2、使用java.time.LocalDate类型

Java 8或更高版本中,使用java.time.LocalDate来读取数据库中的Date,它专门用于表示日期,不包含时间信息

import java.time.LocalDate;public class User {private LocalDate createDate;// getters and setters
}

在MyBatis的XML映射文件中,使用jdbcType="DATE"来确保只读取日期部分。

<resultMap id="userResultMap" type="User"><result property="createDate" column="create_date" jdbcType="DATE" javaType="java.time.LocalDate"/>
</resultMap><select id="selectUser" resultMap="userResultMap">SELECT create_date FROM users WHERE id = #{id}
</select>

这样,获取到的数据直接就是日期格式,没有时间

 

http://www.lryc.cn/news/517753.html

相关文章:

  • 腾讯云AI代码助手编程挑战赛——贪吃蛇小游戏
  • 水水水水水
  • Spring整合SpringMVC
  • 【Rust自学】10.4. trait Pt.2:trait作为参数和返回类型、trait bound
  • 嵌入式系统 (2.嵌入式硬件系统基础)
  • Linux 下 Vim 环境安装踩坑问题汇总及解决方法(重置版)
  • OpenAI 故障复盘 - 阿里云容器服务与可观测产品如何保障大规模 K8s 集群稳定性
  • 安卓触摸对焦
  • jupyter出现“.ipynb appears to have died. It will restart automatically.”解决方法
  • 20250108-实验+神经网络
  • 【权限管理】CAS(Central Authentication Service)
  • Golang笔记:使用net包进行TCP监听回环测试
  • 《浮岛风云》V1.0中文学习版
  • Day10——爬虫
  • 10. C语言 函数详解
  • NRC优先级中比较特殊的—NRC0x13和NRC0x31
  • ref() 和 reactive() 区别
  • 深度学习与计算机视觉 (博士)
  • Sprint Boot教程之五十:Spring Boot JpaRepository 示例
  • NaVILA:用于足式机器人导航的VLA模型
  • 大语言模型提示技巧(七)-扩展
  • 基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址
  • 25年01月HarmonyOS应用基础认证最新题库
  • wps宏js接入AI功能和接入翻译功能
  • 【Logstash03】企业级日志分析系统ELK之Logstash 过滤 Filter 插件
  • 深度学习:Java DL4J基于RNN构建智能停车管理模型
  • 花生好坏缺陷识别数据集,7262张图片,支持yolo,coco json,pasical voc xml格式的标注,识别准确率在95.7%
  • 2025年:AI化浪潮中的社会变迁与商业革新
  • filebeat、kafka
  • js单例模式