如何将当前时间Date类型转换成String,同时String转换成Date类型?

本文介绍如何使用newSimpleDateFormat构造器及parse方法将String类型的数据转换为Date类型。

String---》Date

调用new SimpleDateFormat()构造器,然后再调用parse()方法,返回Date类型

将时区`Date`类型数据转换成`String`类型可以采用以下几种方法: ### 方法一:使用`SimpleDateFormat`类 可以使用`SimpleDateFormat`类来对`Date`类型进行格式化从而得到`String`类型的结果。示例代码如下: ```java import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Date; class Main { public static void main(String[] args) { String time = "2010-10-19 15:22:00"; Date d = Timestamp.valueOf(time); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 E"); time = simpleDateFormat.format(d); System.out.println(time); } } ``` 此代码先把字符串转换为`Timestamp`类型,再将其转换为`Date`类型,最后用`SimpleDateFormat`类把`Date`类型格式化并返回`String`类型结果 [^1]。 ### 方法二:通过注解进行转换 在Spring Boot开发里,可借助注解实现`Date`类型和`String`类型的转换。示例代码如下: ```java import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; import java.util.Date; public class Example { @DateTimeFormat(pattern = "yyyy-MM-dd") // 入参 @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") // 出参 private Date date; public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } } ``` 在这个示例中,`@DateTimeFormat`注解用于入参时的格式化,`@JsonFormat`注解用于出参时的格式化,并且指定了时区为`GMT+8` [^4]。 ### 方法三:考虑时区差异的转换 在Spring Boot前后台进行`Date`和`String`类型转换时,要注意JASKSON在序列化时间时按国际标准时间`GMT`格式化,而国内默认时区是`CST`时区,两者相差8小时。所以格式化时要指定时区,示例代码如下: ```java import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import java.util.Date; import java.text.SimpleDateFormat; public class TimeZoneExample { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JavaTimeModule()); mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); mapper.setTimeZone(java.util.TimeZone.getTimeZone("GMT+8")); Date date = new Date(); String dateString = mapper.writeValueAsString(date); System.out.println(dateString); } } ``` 此代码通过`ObjectMapper`设置了时区和日期格式,进而实现了`Date`类型到`String`类型的转换 [^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空非空也

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值