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

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

常用的字符串转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

标签:java,字符串,日期
0
投稿

猜你喜欢

  • java实现单机版五子棋

    2022-12-20 20:15:07
  • eclipse如何搭建Springboot项目详解

    2023-11-29 04:52:36
  • seata springcloud整合教程与遇到的坑

    2023-09-19 03:11:06
  • maven中profile的使用

    2022-03-31 10:43:53
  • Triple协议支持Java异常回传设计实现详解

    2021-08-16 17:16:09
  • Java设计通用的返回数据格式过程讲解

    2023-11-09 00:16:40
  • Java输入年份和月份判断多少天实例代码

    2023-12-23 10:43:11
  • MyBatis ofType和javaType的区别说明

    2021-09-10 22:56:43
  • C#利用Label标签控件模拟窗体标题的移动及窗体颜色不断变换效果

    2021-06-22 16:55:51
  • Java 改造ayui表格组件实现多重排序

    2022-05-15 07:34:15
  • mybaties plus selectMaps和selectList的区别说明

    2021-07-15 11:18:29
  • Spring JPA联表查询之注解属性详解

    2021-11-04 14:19:04
  • Java从服务端下载Excel模板文件的两种方法

    2021-08-29 05:44:40
  • Java操作excel的三种常见方法实例

    2022-12-11 02:29:55
  • Spring Cloud Hystrix异常处理方法详解

    2022-05-29 06:20:12
  • maven依赖版本没有按照最短路径原则生效的解决方案

    2023-04-04 20:49:09
  • java使用influxDB数据库的详细代码

    2023-03-04 05:22:27
  • java实现将结果集封装到List中的方法

    2021-10-27 22:29:45
  • Java中的几种读取properties配置文件的方式

    2022-09-06 13:36:19
  • C# 通过ServiceStack 操作Redis

    2023-12-13 06:18:01
  • asp之家 软件编程 m.aspxhome.com