我在将字符串转换为日期对象时遇到问题。在转换时,它会选择格林尼治标准时间(GMT)时区并将其更改为以前的日期。我想忽略时区。如果字符串值为“ 03/12/2019”,则无论时区如何,它都应为同一日期。
@DateTimeFormat(pattern = "MM/dd/yyyy") Date startDate
有什么建议吗? 谢谢。
答案 0 :(得分:1)
使用java.time.LocalDate代替Date。
答案 1 :(得分:1)
使用java.time.LocalDate LocalDate没有时间,因此没有时区
@DateTimeFormat(pattern = "MM/dd/yyyy")
private LocalDate localDate;
答案 2 :(得分:1)
您可以使用Jodatime LocalDate(设计上没有时区)解决此问题:
@DateTimeFormat(iso = ISO.DATE) LocalDate startDate
可以通过调用toDate() method将其转换为JDK日期。
您还可以将其用于日期模式
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "MM/dd/yyyy")
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.3</version>
</dependency>