javax.xml.datatype.XMLGregorianCalendar
http://haohao-xuexi02.iteye.com/blog/1130535
原文:http://xiyangzk.iteye.com/blog/813936
XMLGregorianCalendar是GregorianCalendar(格里历,阳历)在XML领域中的对应类,算是Webservice、JAXB这些应用经常出现的关于日期时间的经典入门问题。
使用javax.xml.datatype.DatatypeFactory、java.text.SimpleDateFormat、java.util.GregorianCalendar可以轻松解决XMLGregorianCalendar相关问题。
- //GregorianCalendar-〉XMLGregorianCalendar
- GregorianCalendar nowGregorianCalendar =new GregorianCalendar();
- XMLGregorianCalendar xmlDatetime= DatatypeFactory.newInstance().newXMLGregorianCalendar(nowGregorianCalendar);
- //XMLGregorianCalendar ->GregorianCalendar
- nowGregorianCalendar = xmlDatetime.toGregorianCalendar();
- //GregorianCalendar->String
- SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateTimeString=simpleDateFormat.format(nowGregorianCalendar.getTime());
- //GregorianCalendar->Date
- Date date = nowGregorianCalendar.getTime();
- //Date->GregorianCalendar
- nowGregorianCalendar.setTime(date);
- //String->Date
- date=simpleDateFormat.parse("1981-07-22 00:00:00");
- //Date->String
- String dateString=simpleDateFormat.format(date.getTime());
- //Sring->XMLGregorianCalendar
- nowGregorianCalendar.setTime(simpleDateFormat.parse("1981-07-22 00:00:00"));
- xmlDatetime= DatatypeFactory.newInstance().newXMLGregorianCalendar(nowGregorianCalendar);
- //XMLGregorianCalendar->Sring
- simpleDateFormat.format(xmlDatetime.toGregorianCalendar().getTime());
- //GregorianCalendar-〉XMLGregorianCalendar
- GregorianCalendar nowGregorianCalendar =new GregorianCalendar();
- XMLGregorianCalendar xmlDatetime= DatatypeFactory.newInstance().newXMLGregorianCalendar(nowGregorianCalendar);
- //XMLGregorianCalendar ->GregorianCalendar
- nowGregorianCalendar = xmlDatetime.toGregorianCalendar();
- //GregorianCalendar->String
- SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String dateTimeString=simpleDateFormat.format(nowGregorianCalendar.getTime());
- //GregorianCalendar->Date
- Date date = nowGregorianCalendar.getTime();
- //Date->GregorianCalendar
- nowGregorianCalendar.setTime(date);
- //String->Date
- date=simpleDateFormat.parse("1981-07-22 00:00:00");
- //Date->String
- String dateString=simpleDateFormat.format(date.getTime());
- //Sring->XMLGregorianCalendar
- nowGregorianCalendar.setTime(simpleDateFormat.parse("1981-07-22 00:00:00"));
- xmlDatetime= DatatypeFactory.newInstance().newXMLGregorianCalendar(nowGregorianCalendar);
- //XMLGregorianCalendar->Sring
- simpleDateFormat.format(xmlDatetime.toGregorianCalendar().getTime());
//GregorianCalendar-〉XMLGregorianCalendar
GregorianCalendar nowGregorianCalendar =new GregorianCalendar();
XMLGregorianCalendar xmlDatetime= DatatypeFactory.newInstance().newXMLGregorianCalendar(nowGregorianCalendar);
//XMLGregorianCalendar ->GregorianCalendar
nowGregorianCalendar = xmlDatetime.toGregorianCalendar();
//GregorianCalendar->String
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateTimeString=simpleDateFormat.format(nowGregorianCalendar.getTime());
//GregorianCalendar->Date
Date date = nowGregorianCalendar.getTime();
//Date->GregorianCalendar
nowGregorianCalendar.setTime(date);
//String->Date
date=simpleDateFormat.parse("1981-07-22 00:00:00");
//Date->String
String dateString=simpleDateFormat.format(date.getTime());
//Sring->XMLGregorianCalendar
nowGregorianCalendar.setTime(simpleDateFormat.parse("1981-07-22 00:00:00"));
xmlDatetime= DatatypeFactory.newInstance().newXMLGregorianCalendar(nowGregorianCalendar);
//XMLGregorianCalendar->Sring
simpleDateFormat.format(xmlDatetime.toGregorianCalendar().getTime());
附:java.util.GregorianCalendar与java.util.Date的关系如同日历与日历中的某一页。java.util.GregorianCalendar与.Net类型DateTime更相像。
javax.xml.datatype.XMLGregorianCalendar相关推荐
- 利用 javax.xml.datatype.Duration 解析 activiti:dueDate=P1DT3H 这种时间格式
直接上干货 private int findH(String dueDate){int h=0;try {javax.xml.datatype.Duration duration=javax.xml. ...
- Android老項目出现javax/xml/bind/JAXBException异常问题解决
有時候報錯: > Task :app:compileDebugJavaWithJavac FAILED Gradle may disable incremental compilation as ...
- spring boot 2.0 java8 下 foundError: javax/xml/bind/JAXBException 解决方法
spring boot 2.0 java8 下 foundError: javax/xml/bind/JAXBException 解决方法 参考文章: (1)spring boot 2.0 java8 ...
- 如何解决java.lang.NoClassDefFoundError:Java 9中的javax / xml / bind / JAXBException
本文翻译自:How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9 I have s ...
- javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
今天在调代码的时候遇到了一个异常: javax.xml.transform.TransformerConfigurationException: Could not compile styleshee ...
- 【转】javax.xml.transform.TransformerFactoryConfigurationError
第一步: 去看tomcat的webapps,里边也部署上了.接着用昨天刚学的一招必杀,呵呵!去看C:\Program Files\Apache Software Foundation\Tomcat 5 ...
- `Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
在执行java包时,遇到了Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 错误. 原因是因为 ...
- nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
相信这个问题很多小伙伴已经遇到了,这是在你的jdk版本由8.0升级到9.0之后发生的事情,实际上jdk的版本并不是类似于9.0就会完全兼容8.0的, 但是比如说8.1是完全兼容8.0的8.2是完全兼容 ...
- Caused by java.lang.ClassNotFoundException javax.xml.bind.ValidationException异常
一.问题描述 Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/ValidationException at java.base/ja ...
最新文章
- 【数据库】mysql报错 编码码1130 和错误码1146
- 图像拾取点_10分钟看懂Photoshop 照片修饰(用“消失点”滤镜编辑照片)
- windows 2008 enterprise tcpip.sys问题总结。
- IBM JVM调整– gencon GC策略
- 关于table的中元素对齐方式的注意点
- (63)FPGA面试题-用verilog写一段代码,实现消除一个glitch(毛刺)(二)
- Spring-第1天
- 函数call相关[ASM]
- 解决vue2+vue-cli3项目ie兼容问题
- 大数据预测分析是否对企业有影响
- 一口一口吃掉Struts(二)——STRUTS基本工作流程
- IT服务器台账系统,it项目管理信息系统
- 网页添加 Live2D 看板娘
- 各项数字技术的发展历程
- 【转】Arp的攻防实战
- linux蓝牙obex协议,蓝牙协议英文缩写——记录
- [转]SpringMVC常见面试题总结
- word 插入分隔符实现章节单独编页
- java生成word排版_java生成word(文字和图片)
- 有的放矢,Liferay进军数字体验市场
热门文章
- 【数据结构与算法】之深入解析“安装栅栏”的求解思路与算法示例
- OpenGL ES之基本简介和渲染流程
- iOS之Socket的使用-AsyncSocket
- 2015年第六届蓝桥杯 - 省赛 - Java大学B组 - A. 三角形面积
- 2019\Province_C_C++_B\试题C-数列求值
- ROS通信架构(上)
- 【ARM】Tiny4412裸板编程之异常(软中断)
- 【Linux】一步一步学Linux——hostname命令(73)
- mysql alert on delete cascade_如何在mysql中删除级联使用?(How do I use on delete cascade in mysql?)...
- Qt学习笔记-----QListWidget,QTableWidget和QTreeWidget