java-8 - 在 java 中创建通用的 dateformatter 模式
问题描述
我正在使用下面的代码
公共类 DateAdapter 扩展 XmlAdapter<String, XMLGregorianCalendar> {
private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
@Override
public XMLGregorianCalendar unmarshal(String v) throws Exception {
Date date = dateFormat.parse(v);
GregorianCalendar gregory = new GregorianCalendar();
gregory.setTime(date);
XMLGregorianCalendar calendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregory);
return calendar;
}
@Override
public String marshal(XMLGregorianCalendar v) throws Exception {
synchronized (dateFormat) {
return specialFormatForXmlGregorianCalander(v);
}
}
// Because you cannot format an XMLGregorianCalender typyou need to generate a
// GregorianCalender from it first
private String specialFormatForXmlGregorianCalander(XMLGregorianCalendar calander) {
// Convert from XMLGregorianCalander to GregorianCalander
GregorianCalendar gCalender = calander.toGregorianCalendar();
// Get the date
java.util.Date date = gCalender.getTime();
// define the type of calendar to be GegorianCalander
dateFormat.setCalendar(gCalender);
// Return the string version
return dateFormat.format(date);
}
}
我想创建通用日期适配器,它将接受每种传入的日期格式并应该成功解析它。编组和解组时应使用相同的日期格式。
解决方案
推荐阅读
- r - 直接将 r-markdown 发布到 rpubs
- angularjs - Angularjs ng-repeat 无法按预期工作
- javascript - _gaq.push 在谷歌分析中不起作用
- python - 缩放图形而不缩放标签、文本和轴刻度等
- python - 如何使用`bokeh.models.expressions`
- c++ - 静态函数继承的名称隐藏的初始使用
- kubernetes - 将所有秘密作为环境变量插入到 kubernetes 部署中
- c# - 如何在 MVC 框架中从类创建对象并调用方法
- java - pom文件中的Maven依赖规范
- javascript - 动态复选框列表选中取消选中所有javascript