java字符串與日期類型轉(zhuǎn)換的工具類
常用的字符串轉(zhuǎn)date,和日期轉(zhuǎn)字符串的方法,具體內(nèi)容如下
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類型轉(zhuǎn)換成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類型轉(zhuǎn)換成XMLGregorianCalendar類型出錯(cuò):"+e);
}
return gc;
}
/***
* XMLGregorianCalendar類型轉(zhuǎn)換成Date類型
*
* @param cal
* @return
* @throws Exception
*/
public static Date convertToDate(XMLGregorianCalendar cal) throws Exception {
GregorianCalendar ca = cal.toGregorianCalendar();
return ca.getTime();
}
/**
* String 轉(zhuǎn) Date
* 2015年3月25日上午11:27:14
* auther:shijing
* @param str 日期字符串
* @param format 轉(zhuǎn)換格式
* @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類型 轉(zhuǎn) Date類型出錯(cuò):"+e);
}
return date;
}
/**
* Date 轉(zhuǎn) String
* auther: shijing
* 2015年3月25日上午11:28:14
* @param date 日期
* @param format 轉(zhuǎn)換格式
* @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類型 轉(zhuǎn) String類型出錯(cuò):"+e);
}
return strDate;
}
/***
* 測(cè)試方法
*
* @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();
}
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之藥店信息管理系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+SSM+JSP+layui+maven+mysql開發(fā)的藥店信息管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有藥店信息管理該有的所有功能,感興趣的朋友快來看看吧2022-01-01
在Spring AOP中代理對(duì)象創(chuàng)建的步驟詳解
今天和小伙伴們聊一聊 Spring AOP 中的代理對(duì)象是怎么創(chuàng)建出來的,透過這個(gè)過程再去熟悉一下 Bean 的創(chuàng)建過程,感興趣的小伙伴跟著小編一起來看看吧2023-08-08
Java 創(chuàng)建兩個(gè)線程模擬對(duì)話并交替輸出實(shí)現(xiàn)解析
這篇文章主要介紹了Java 創(chuàng)建兩個(gè)線程模擬對(duì)話并交替輸出實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
Java?集合框架掌握?Map?和?Set?的使用(內(nèi)含哈希表源碼解讀及面試??碱})
這篇文章主要介紹了Java?集合框架掌握?Map?和?Set?的使用并含有內(nèi)含哈希表源碼解讀及面試??碱},?Map?和?Set?是一種適合動(dòng)態(tài)查找的集合容器或者數(shù)據(jù)結(jié)構(gòu)下面文章詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2021-12-12
java中的阻塞隊(duì)列應(yīng)用場(chǎng)景及代碼實(shí)例
這篇文章主要介紹了java中的阻塞隊(duì)列應(yīng)用場(chǎng)景及代碼實(shí)例阻塞隊(duì)列是一種特殊的隊(duì)列,它提供了線程安全的操作,并在隊(duì)列為空或滿時(shí)提供了阻塞的功能,阻塞隊(duì)列通常用于多線程場(chǎng)景,其中生產(chǎn)者線程向隊(duì)列中添加元素,而消費(fèi)者線程從隊(duì)列中獲取元素,需要的朋友可以參考下2024-01-01

