欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-02 19:15:22
常用的字符串转date,和日期转字符串的方法,具体内容如下 package com.cq2022.zago.base.util; import ja...

常用的字符串转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(); 
  } 
 } 
}

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