软件编程
位置:首页>> 软件编程>> java编程>> java字符串与日期类型转换的工具类

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

作者:执笔记忆的空白  发布时间:2021-12-30 02:44:30 

标签: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();
 }
}
}

来源:http://blog.csdn.net/moneyshi/article/details/44852157

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com