我试图在 Gson 输出中使用自定义日期格式,但 .setDateFormat(DateFormat.FULL)
似乎不起作用,它与 .registerTypeAdapter(Date.class, new DateSerializer())
相同。
这就像 Gson 不关心对象“Date”并以它的方式打印它。
我该如何改变它?
谢谢
编辑:
@Entity
public class AdviceSheet {
public Date lastModif;
[...]
}
public void method {
Gson gson = new GsonBuilder().setDateFormat(DateFormat.LONG).create();
System.out.println(gson.toJson(adviceSheet);
}
我总是使用 java.util.Date
; setDateFormat()
不起作用:(
原文由 Stéphane Piette 发布,翻译遵循 CC BY-SA 4.0 许可协议
看来您需要为日期和时间部分定义格式或使用基于字符串的格式。例如:
或者 使用 java.text.DateFormat
或者用序列化器来做:
我相信格式化程序不能生成时间戳,但是这个序列化器/反序列化器对似乎可以工作
如果使用 Java 8 或更高版本,你应该像这样使用上面的序列化器/反序列化器: