`
haohao-xuexi02
  • 浏览: 210143 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

转javax.xml.datatype.XMLGregorianCalendar

    博客分类:
  • java
 
阅读更多

原文:http://xiyangzk.iteye.com/blog/813936

XMLGregorianCalendar是GregorianCalendar(格里历,阳历)在XML领域中的对应类,算是Webservice、JAXB这些应用经常出现的关于日期时间的经典入门问题。

 

使用javax.xml.datatype.DatatypeFactory、java.text.SimpleDateFormat、java.util.GregorianCalendar可以轻松解决XMLGregorianCalendar相关问题。

 

 

Java代码 复制代码 收藏代码
  1. //GregorianCalendar-〉XMLGregorianCalendar    
  2.       GregorianCalendar nowGregorianCalendar =new GregorianCalendar();   
  3.       XMLGregorianCalendar xmlDatetime= DatatypeFactory.newInstance().newXMLGregorianCalendar(nowGregorianCalendar);   
  4.       //XMLGregorianCalendar ->GregorianCalendar   
  5.       nowGregorianCalendar = xmlDatetime.toGregorianCalendar();   
  6.       //GregorianCalendar->String   
  7.       SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
  8.       String dateTimeString=simpleDateFormat.format(nowGregorianCalendar.getTime());   
  9.       //GregorianCalendar->Date   
  10.       Date date = nowGregorianCalendar.getTime();   
  11.       //Date->GregorianCalendar   
  12.       nowGregorianCalendar.setTime(date);   
  13.   
  14.       //String->Date   
  15.       date=simpleDateFormat.parse("1981-07-22 00:00:00");   
  16.       //Date->String   
  17.       String dateString=simpleDateFormat.format(date.getTime());   
  18.          
  19.       //Sring->XMLGregorianCalendar   
  20.       nowGregorianCalendar.setTime(simpleDateFormat.parse("1981-07-22 00:00:00"));   
  21.       xmlDatetime= DatatypeFactory.newInstance().newXMLGregorianCalendar(nowGregorianCalendar);   
  22.       //XMLGregorianCalendar->Sring   
  23.       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更相像。

分享到:
评论
4 楼 haohao-xuexi02 2011-07-22  
xiang37 写道
haohao-xuexi02 写道
xiang37 写道
哈,不错;学习了
日期统一的问题,是一个在接口中常见的问题

其实webservice解析的xml 。


恩 了解;在我遇到的日期问题中,大多是系统之间传值,格式不统一需要转换的问题。而java在日期处理的问题上,是一个诟病,哈哈 
浅谈一下

请多讲一些。
3 楼 xiang37 2011-07-22  
haohao-xuexi02 写道
xiang37 写道
哈,不错;学习了
日期统一的问题,是一个在接口中常见的问题

其实webservice解析的xml 。


恩 了解;在我遇到的日期问题中,大多是系统之间传值,格式不统一需要转换的问题。而java在日期处理的问题上,是一个诟病,哈哈 
浅谈一下
2 楼 haohao-xuexi02 2011-07-22  
xiang37 写道
哈,不错;学习了
日期统一的问题,是一个在接口中常见的问题

其实webservice解析的xml 。
1 楼 xiang37 2011-07-22  
哈,不错;学习了
日期统一的问题,是一个在接口中常见的问题

相关推荐

Global site tag (gtag.js) - Google Analytics