在实体类中将数据库中的datetime时间格式转化为普通的年月日格式

本文详细介绍如何在Java中使用SimpleDateFormat将Date类型转换为指定格式的字符串,如yyyy-MM-dd HH:mm,并解释了各占位符的含义,如年、月、日、时、分、秒等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 日期、时间类,日期、时间的格式化
将实体类中的get方法的返回值变为String类型,因为我们是将Date格式转化为String,再创建SimpleDateFormat实例定义格式(“yyyy-MM-dd HH:mm”),再将成员变量放入format方法中转化格式,直接返回即可。

    public String getCreateDate() {
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        return sdf.format(createDate);
    }

定义格式中年底占位符:

G  “公元”
y  四位数年份
M  月
d  日
h  时 在上午或下午 (1~12)
H  时 在一天中 (0~23)
m  分
s  秒
S  毫秒

E  一周中的周几
D  一年中的第几天
w  一年中第几个星期
a  上午 / 下午 标记符
k   时(1~24)
K   时 在上午或下午 (0~11)

### EasyExcel 中时间字段的格式化 在使用 EasyExcel 工具进行数据读写操作时,如果涉及实体类中的时间字段(`Date` 类型),可以通过 `@DateTimeFormat` 注解来实现时间字段的格式化。以下是具体说明: #### 1. 使用 `@DateTimeFormat` 进行时间字段格式化 当需要将 Java 对象的时间字段写入 Excel 文件或将 Excel 文件中的时间字段解析为 Java 对象时,可以利用 `@DateTimeFormat` 注解指定日期格式字符串[^3]。 - **写入场景** 将 Java 对象中的时间字段按照指定格式写入到 Excel 表格中。例如,在实体类中定义如下字段: ```java import com.alibaba.excel.annotation.format.DateTimeFormat; @DateTimeFormat("yyyy-MM-dd HH:mm:ss") // 指定日期格式 private Date createTime; ``` - **读取场景** 当从 Excel 文件中读取时间字段并将其映射至 Java 对象时,同样通过 `@DateTimeFormat` 定义期望的日期格式。EasyExcel 会自动依据此格式完成解析工作。 #### 2. 默认行为与注意事项 如果没有设置 `@DateTimeFormat` 注解,则默认情况下,EasyExcel 不会对时间字段执行任何特殊处理,可能会导致无法正确解析或写出时间值[^4]。 另外需要注意的是,`@DateTimeFormat` 的 value 属性遵循 `SimpleDateFormat` 的模式规则,因此可以根据实际需求灵活调整日期格式字符串。 #### 3. 配合其他注解优化体验 为了进一步提升易用性和可维护性,还可以结合以下常用注解一起配置: - 如果某些字段不需要参与读写过程,可通过添加 `@ExcelIgnore` 来跳过这些字段; - 若希望动态控制内容行高等样式特性,可以在类级别或者特定属性上应用诸如 `@ContentRowHeight()` 和 `@HeadRowHeight()` 等注解。 最后提醒一点,确保所使用的版本支持上述功能,并查阅官方文档确认最新语法细节[^1]。 ```java import java.util.Date; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; public class DemoData { @ExcelProperty("创建时间") @DateTimeFormat("yyyy/MM/dd") // 自定义日期格式 private Date createTime; public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值