java字符串与日期类型转换的工具类

 更新时间:2017年12月08日 13:33:29   作者:执笔记忆的空白  
这篇文章主要为大家详细介绍了java字符串与日期类型转换的工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

常用的字符串转date,和日期转字符串的方法,具体内容如下

package com.cq2022.zago.base.util; 
 
import java.text.DateFormat; 
import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.GregorianCalendar; 
 
import javax.xml.datatype.DatatypeFactory; 
import javax.xml.datatype.XMLGregorianCalendar; 
 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
 
/*** 
 * 日期工具类 
 * 
 * @author shijing 
 * 
 */ 
public class DateUtils { 
 
 private static final Logger logger = LoggerFactory.getLogger(DateUtils.class); 
  
 /*** 
  * Date类型转换成XMLGregorianCalendar类型 
  * 
  * @param date 
  * @return 
  */ 
 public static XMLGregorianCalendar convertToXMLGregorianCalendar(Date date) { 
  GregorianCalendar cal = new GregorianCalendar(); 
  cal.setTime(date); 
  XMLGregorianCalendar gc = null; 
  try { 
   gc = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal); 
  } 
  catch (Exception e) { 
   logger.error("Date类型转换成XMLGregorianCalendar类型出错:"+e); 
  } 
  return gc; 
 } 
 
 /*** 
  * XMLGregorianCalendar类型转换成Date类型 
  * 
  * @param cal 
  * @return 
  * @throws Exception 
  */ 
 public static Date convertToDate(XMLGregorianCalendar cal) throws Exception { 
  GregorianCalendar ca = cal.toGregorianCalendar(); 
  return ca.getTime(); 
 } 
 
 /** 
  * String 转 Date 
  * 2015年3月25日上午11:27:14 
  * auther:shijing 
  * @param str 日期字符串 
  * @param format 转换格式 
  * @return 
  * Date 
  */ 
 public static Date stringToDate(String str, String format) { 
  DateFormat dateFormat = new SimpleDateFormat(format); 
  Date date = null; 
  try { 
   date = dateFormat.parse(str); 
  } 
  catch (ParseException e) { 
   logger.error("String类型 转 Date类型出错:"+e); 
  } 
  return date; 
 } 
  
 /** 
  * Date 转 String 
  * auther: shijing 
  * 2015年3月25日上午11:28:14 
  * @param date 日期 
  * @param format 转换格式 
  * @return 
  */ 
 public static String dateToString(Date date,String format){ 
  DateFormat dateFormat = new SimpleDateFormat(format); 
  String strDate=null; 
  try { 
   if(date!=null){ 
    strDate=dateFormat.format(date); 
   } 
  } catch (Exception e) { 
   // TODO Auto-generated catch block 
   logger.error("Date类型 转 String类型出错:"+e); 
  } 
  return strDate; 
 } 
  
 
 /*** 
  * 测试方法 
  * 
  * @param args 
  */ 
 public static void main(String[] args) { 
  XMLGregorianCalendar d = DateUtils 
    .convertToXMLGregorianCalendar(new Date()); 
//  System.out.println(d.getDay()); 
  XMLGregorianCalendar cal = null; 
  try { 
   cal = DatatypeFactory.newInstance().newXMLGregorianCalendar(); 
   cal.setMonth(06); 
   cal.setYear(2010); 
   Date date = DateUtils.convertToDate(cal); 
   String format = "yyyy-MM-dd HH:mm:ss"; 
   SimpleDateFormat formatter = new SimpleDateFormat(format); 
//   System.out.println(formatter.format(date)); 
    
   Date d1 = DateUtils.stringToDate("2014/7/24 9:51:00", "yyyy/MM/dd hh:mm:ss"); 
   XMLGregorianCalendar d2 = DateUtils.convertToXMLGregorianCalendar(d1); 
//   System.out.println(d2.toString()); 
    
   String dateStr=DateUtils.dateToString(cal.toGregorianCalendar().getTime(), "yyyy-MM-dd HH:mm:ss"); 
//   System.out.println("dateStr="+ dateStr); 
  } 
  catch (Exception e) { 
   e.printStackTrace(); 
  } 
 } 
}

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java Swing程序设计实战

    Java Swing程序设计实战

    今天教大家怎么用JavaSwing工具包实现一个程序的界面设计,文中有非常详细的代码示例及注释,对正在学习Java的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • 100-200之间所有素数求和程序代码(二个版本)

    100-200之间所有素数求和程序代码(二个版本)

    写一个求100-200之间素数,并求和的程序,大家参考使用吧
    2013-11-11
  • JDK1.8中的ConcurrentHashMap使用及场景分析

    JDK1.8中的ConcurrentHashMap使用及场景分析

    这篇文章主要介绍了JDK1.8中的ConcurrentHashMap使用及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java正则表达式的实例操作指南

    Java正则表达式的实例操作指南

    这篇文章主要给大家介绍了关于Java正则表达式的实例操作指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java线程池使用与原理详解

    Java线程池使用与原理详解

    这篇文章主要为大家详细介绍了Java线程池使用与原理的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Java并发程序刺客之假共享的原理及复现

    Java并发程序刺客之假共享的原理及复现

    前段时间在各种社交平台“雪糕刺客”这个词比较火,而在并发程序中也有一个刺客,那就是假共享。本文将通过示例详细讲解假共享的原理及复现,需要的可以参考一下
    2022-08-08
  • Java反射的应用之动态代理深入理解

    Java反射的应用之动态代理深入理解

    这篇文章主要介绍了Java反射的应用之动态代理深入理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Spring Cloud 专题之Sleuth 服务跟踪实现方法

    Spring Cloud 专题之Sleuth 服务跟踪实现方法

    这篇文章主要介绍了Spring Cloud 专题之Sleuth 服务跟踪,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • 在java中如何将inputStream对象转换为File对象(不生成本地文件)

    在java中如何将inputStream对象转换为File对象(不生成本地文件)

    这篇文章主要介绍了在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • JAVA的发展前景如何好不好自学

    JAVA的发展前景如何好不好自学

    这篇文章主要介绍了JAVA的发展前景如何好不好自学,很多朋友想自学java不知道好不好学,能不能学会,今天小编给大家分享一篇教程关于java的发展前景的文章,需要的朋友可以参考下
    2020-06-06

最新评论