【发布时间】:2020-11-02 09:04:04
【问题描述】:
我得到日期为 java.util.Date(not String) : (java.util.Date) Mon Jul 13 00:00:00 IST 2020
我想将其转换为:2020-07-13T00:00 format==>("yyyy-MM-dd'T'HH:mm") 但作为 DATE 而不是字符串。
我尝试了以下代码:
Date scheduleDate=details.getScheduledDate(); // This value is fetched from object passed-- [scheduleDate = (java.util.Date) Mon Jul 13 00:00:00 IST 2020]
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
sd.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
String dateFormat=sd.format(scheduleDate); //Here I get [dateFormat = (java.lang.String) "2020-07-13T00:00"]
Date date = sd.parse(dateFormat); //[date = (java.util.Date) Mon Jul 13 00:00:00 IST 2020]
我观察到字符串格式具有正确的(如预期的)值,但是当我将其转换为 java.util.date 时,该值又变回了。
java.util.Date 是否支持 yyyy-MM-dd'T'HH:mm 格式?
如果是,任何人都可以向我推荐任何好的方法/方向/主题/库来研究。
谢谢你..
【问题讨论】:
-
java.util.Date本身不包含任何有关格式化的信息。你不能设置它的格式。您只能在要显示时设置格式,也就是转换为字符串。顺便提一句。您可能应该转移到 Java 8 中添加的“新”Java 日期/时间 API(在包 java.time 中) -
我只是好奇,你为什么要这么做?
-
@jagapathi :我需要该格式的日期才能通过材料 UI 日期时间本地日历传递给反应 JS 应用程序。
-
@asha 你需要将 react js 中的日期转换为你需要的任何格式。
-
行业标准是,在您的 JSON 传输中,您应该使用 ISO 8601 格式(最好在 UTC 中使用
Z),然后在客户端进行格式设置。这个的默认 JS 库似乎是 Moment。