【发布时间】:2017-09-19 20:13:46
【问题描述】:
我有一个带有一个日期字段的 json 请求,如下所示:"PolicyEffectiveDate": "\/Date(1389715867000)/\"
我想把它解析成java.util.Date类型的java对象
我知道如何在 javascript 中做到这一点
javascript 中的日期 here 和 ionic here 但
我需要在java中做到这一点。请帮忙。
【问题讨论】:
-
您是否尝试从该字符串中提取长值并从中创建
new Date(value)? -
“我需要在 java.util.date 中以 dd/MM/yyy 格式解析这个日期”——这是什么意思?不是dd/MM/yyyy格式,java.util.Date也没有有格式,那么dd/MM/yyyy是从哪里来的呢?
-
不,这不是您需要的。您需要将输入字符串的数字部分提取为 long,然后从该 long 值构造一个 Date(或者最好是 Java 8 Instant),该值表示自纪元以来的毫秒数。然后,一旦您拥有该 Date 或 Instant 对象,您就可以使用您想要的格式(和时区)将其转换为另一个字符串。日期/即时没有任何格式。就像双精度一样,即使你想显示为 2,345.67,也没有任何格式。
-
@JBNizet 我已经修改了我的问题。感谢您宝贵的 cmets。
-
顺便说一句,您有什么理由仍在使用早已过时的
Date类?今天我们在the modern java date and time API known asjava.timeor JSR-310 中做得更好。 JB Nizet 已经在a comment 中说过你应该更喜欢Instant。我同意 200%。