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


猜你喜欢
- 在进行winform开发过程中有时候会需要关闭其他程序或者关闭进程,以前写过一篇相关介绍的文章,今天有同事问起来,于是在次翻出来和大家分享一
- 1. interrupt知识点 以下总结基于JDK8本文不会完整说明interrupt,只会罗列一些比较重要的点。完整了解Thre
- try { // 方
- 动态创建函数大多数同学,都或多或少的使用过。回顾下c#中动态创建函数的进化:C# 1.0中:public delegate string D
- 一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,
- 1.上原图 前几天在 Hencoder 征稿看到的Filpboard 里的的动画效果:Filipboard.gif先bb一句:在看本文的同时
- 每个Handler对象与创建它的线程相关联,并且每个Handler对象只能与一个线程相关联。Handler一般有两种用途:1)执行计划任务,
- 在Android开发中我们经常使用MediaPlayer来播放音频文件,但是MediaPlayer存在一些不足,例如:资源占用量较高、延迟时
- MyBatis @MapKey的妙用背景在实际开发中,有一些场景需要我们返回主键或者唯一键为Key、Entity为Value的Map集合,如
- Android中的Adapter在自定义显示列表时非常有用,比如SimpleAdapter,它的构造函数是:public SimpleAda
- 一、问题描述换了一台电脑,重新进行idea安装配置。然后打开原来的项目结果引入spring-boot-maven-plugin出现爆红,而且
- 完成一个简单的基于MVC的数据查询模块,要求能够按照name进行模糊查询。Index.jsp:<%@ page import=&quo
- 单例模式算是设计模式中最容易理解,也是最容易手写代码的模式,但是其中涉及的知识点却一点也不少,所以经常作为面试题来考。一般单例都是五种写法:
- 学习hibernate的时候,小编已经接触多各种映射,mybatis中映射有到底是如何运转的,今天这篇博文,小编主要来简单的介绍一下myba
- 呐呐呐,做Java呢,最重要是要把自己的“作品” 部署到公网上去啦。特别是初学者,需要向面试官证明自己会什么,这个真的就很重要啦,空口无凭,
- 自定义starter yaml提示失效问题问题场景在自定义starter后,必不可少会有properties配置参数需要指定,而在有时又不知
- 本文实例讲述了WinForm中comboBox控件数据绑定实现方法。分享给大家供大家参考,具体如下:下面介绍三种对comboBox绑定的方式
- C语言实现矩阵运算给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角
- 一.线程池简介线程池的概念线程池就是首先创建一些线程,它们的集合称为线程池,使用线程池可以很好的提高性能,线程池在系统启动时既创建大量空闲的
- 本文实例讲述了Java设计模式之静态代理模式。分享给大家供大家参考,具体如下:代理模式,可以通过代理可以在原来的基础上附加一些其他的操作。静