public class DateUtil {

public enum DateType {

YEAR, MONTH, DAY, HH, MI, SS, YYYY_MM_DD, YYYYMMDD

}

/**

* 将精确到秒的字符串转换为日期类型

*

* 字符串格式需要为yyyy-MM-dd hh:mm:ss

*

* @param date

* 将精确到秒的字符串

* @return Timestamp对象

* @throws RuntimeException

* 日期类型转换错误

*/

public static Date string2Timestamp(String date) {

SimpleDateFormat clsFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

try {

clsFormat.parse(date);

return new Timestamp(clsFormat.parse(date).getTime());

} catch (ParseException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

/**

* 将精确到秒的字符串转换为日期类型

*

* 字符串格式需要为yyyy-MM-dd hh:mm:ss

*

* @param date

* 将精确到秒的字符串

* @return Timestamp对象

* @throws RuntimeException

* 日期类型转换错误

*/

public static Timestamp str2Timestamp(String date, String pattern) {

SimpleDateFormat clsFormat = new SimpleDateFormat(pattern);

try {

clsFormat.parse(date);

return new Timestamp(clsFormat.parse(date).getTime());

} catch (ParseException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

/**

* 将精确到天的字符串转换为日期类型

*

* 字符串格式需要为yyyy-MM-dd

*

* @param date

* 将精确到天的字符串

* @return java.sql.Date对象

* @throws ParseException

* @throws RuntimeException

* 日期类型转换错误

*/

public static java.sql.Date string2Date(String date) {

SimpleDateFormat clsFormat = new SimpleDateFormat("yyyy-MM-dd");

try {

if(date==""||"".equals(date)){

return null;

}else{

return new java.sql.Date(clsFormat.parse(date).getTime());

}

} catch (ParseException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

/**

* 将日期类型字符串转换为日期类型

*

*

* @param date 日期类型字符串

* @return java.sql.Date对象

* @throws ParseException

* @throws RuntimeException

* 日期类型转换错误

*/

public static java.sql.Date string2Date(Object date) {

if (date instanceof java.util.Date)

return new java.sql.Date(((java.util.Date) date).getTime());

String strDate = date.toString();

if (StringUtil.isNull(strDate) || (strDate.length() < 5))

throw new RuntimeException("非日期类型");

String dateSpace = "";

if (strDate.contains("-") || strDate.contains("/")) {

dateSpace = String.valueOf(strDate.charAt(4));

}

String format[];

if (!StringUtil.isNull(dateSpace)) {

format = new String[6];

format[0] = "yyyy" + dateSpace + "MM" + dateSpace + "dd";

format[1] = "yyyy" + dateSpace + "MM";

format[2] = "yyyy" + dateSpace + "MM" + dateSpace + "d";

format[3] = "yyyy" + dateSpace + "M" + dateSpace + "dd";

format[4] = "yyyy" + dateSpace + "M" + dateSpace + "d";

format[5] = "yyyy" + dateSpace + "M";

} else {

format = new String[5];

format[0] = "yyyyMMdd";

format[1] = "yyyyMM";

format[2] = "yyyyMdd";

format[3] = "yyyyMd";

format[4] = "yyyyM";

}

SimpleDateFormat formatter;

String aFormat = "", tmp = "";

;

Date frmDate = null;

for (int i = 0; i < format.length; i++) {

aFormat = format[i];

formatter = new SimpleDateFormat(aFormat);

formatter.setLenient(false);

try {

frmDate = formatter.parse(strDate);

tmp = formatter.format(frmDate);

} catch (ParseException e) {

}

if (strDate.equals(tmp)) {

return new java.sql.Date(frmDate.getTime());

}

}

throw new RuntimeException("非日期类型");

}

/**

* 将精确到月的字符串转换为日期类型

*

* 字符串格式需要为yyyy-MM

*

* @param date

* 将精确到月的字符串

* @return java.sql.Date对象

* @throws ParseException

* @throws RuntimeException

* 日期类型转换错误

*/

public static java.sql.Date string4Date(String date) {

SimpleDateFormat clsFormat = new SimpleDateFormat("yyyy-MM");

try {

if(date==""||"".equals(date)){

return null;

}else{

return new java.sql.Date(clsFormat.parse(date).getTime());

}

} catch (ParseException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

/**

* 将精确到天的字符串转换为日期类型

*

* 字符串格式需要为yyyy-MM-dd HH:mm

*

* @param date

* 将精确到分钟的的字符串

* @return java.util.Date对象

* @throws ParseException

* @throws RuntimeException

* 日期类型转换错误

*/

public static java.util.Date string3Date(String date) {

SimpleDateFormat clsFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

if(date==""||"".equals(date)){

return null;

}else{

return clsFormat.parse(date);

}

} catch (ParseException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

/**

* 将字符型时间转换为Time型

*

* 字符串格式需要为HH:mm:ss

*

* @param date

* 将精确到天的字符串

* @return Timestamp对象

* @throws ParseException

* @throws RuntimeException

* 日期类型转换错误

*/

public static java.sql.Time string2Time(String time) {

SimpleDateFormat clsFormat = new SimpleDateFormat("HH:mm:ss");

try {

return new java.sql.Time(clsFormat.parse(time).getTime());

} catch (ParseException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

// 将精确到天的字符串对象转换为日期类型

public static java.sql.Date object2Date(Object date) {

return string2Date((String) date);

}

/**

* 将字符串转为指定格式的日期

*

* 日期字符串与字符串格式需要匹配

*

* @param date

* 日期字符串

* @param frm

* 字符串格式

* @return Timestamp对象

* @throws ParseException

* @throws RuntimeException

* 日期类型转换错误

*/

public static java.sql.Date string2Date(String date, String frm) {

SimpleDateFormat clsFormat = new SimpleDateFormat(frm);

try {

clsFormat.parse(date);

return new java.sql.Date(clsFormat.parse(date).getTime());

} catch (ParseException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

/**

* 将日期类型转换为精确到天的字符串

*

* 字符串格式为yyyy-MM-dd

*

* @param date

* 日期类型

* @return String 日期

*

*/

public static String date2String(Date date) {

SimpleDateFormat clsFormat = new SimpleDateFormat("yyyy-MM-dd");

return clsFormat.format(date);

}

/**

* 将日期类型转换为指定格式的字符串

*

*

* @param date

* 日期类型

* @param frm

* 需要转换的格式,具体格式参加java说明

* @return String 日期

*

*/

public static String date2String(Date date, String frm) {

SimpleDateFormat clsFormat = new SimpleDateFormat(frm);

return clsFormat.format(date);

}

/**

* 将日期类型转换为指定格式的日期类型

* @param date

* 日期类型

* @param frm

* 需要转换的格式,具体格式参加java说明

* @return Date

* @description:

*/

public static java.sql.Date date2date(Date date,String frm){

return string2Date(date2String(date), frm);

}

/**

* 将日期类型转换为yyyy-MM-dd格式的日期类型

* @param date

* 日期类型

* @return Date

* @description:

*/

public static java.sql.Date date2date(Date date){

return string2Date(date2String(date));

}

}

java date 日期部分_Java处理Date时间格式的各种场景工具类(二)相关推荐

  1. java的日期操作_java中对时间的操作详解

    代码演示: //数据库中去的日期 Date s = list.get(0).getSdate(); System.out.println(s);// Tue Apr 28 00:00:00 CST 2 ...

  2. 在java中如何把字符串转换成时间格式?

    在java中如何把字符串转换成时间格式? 检举 | 2007-11-28 17:26 提问者:baixiao429 | 悬赏分:20 | 浏览次数:6645次 有这样一个字符串:"20070 ...

  3. java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题

    文章目录 先看成品 前言 一.项目目录结构 一.海报制作PosterUtil.java工具类 1. 描述 2. 代码 二.测试生成海报 1. 描述 2. 直接上代码 四.其他测试 1. Test1_C ...

  4. Java 线程 - 基础及工具类 (二)

    Java 并发系列文章 Java 线程 - 并发理论基础(一) Java 线程 - 基础及工具类 (二) Java 线程 - 并发设计模式 (三) Java 线程(二) 通用的线程生命周期 Java ...

  5. java sql date 时分秒_java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间...

    java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Da ...

  6. java calendar 增加年_java 使用Date类、Calendar类,实现增加日期

    Date date= new Date(); System.out.println("Date date= new Date()中的date: "+date); 输出对象date: ...

  7. java sql date 加减_java.sql.Date 日期 加减天数的实现

    java.sql.Date 在数据库中存的基本格式:2016-02-24 00:00:00 java.sql.Date继承了java.util.Date 如下: public class Date e ...

  8. java date sql和_Java.util.date 与 java.sql.date区别和转换

    1.将java.util.Date转换为java.sql.Date java.sql.Date sd; java.util.Date ud; //initialize the ud such as u ...

  9. JAVA的gettime函数_java中Date的getTime()函数

    今天在处理facebook的json时间时,遇到了一个问题,整整困扰了一下午,吃完饭才想出来. facebook给的时间格式"yyyy-MM-ddTHH:mm:ss+0000" 要 ...

最新文章

  1. Shell-流程控制案例
  2. Unknown column 'subject_1.pid' in 'field list') [SQL: 'SELECT anon_1.screen_id AS anon_1_screen_i
  3. foobar2000 ios版怎么添加音乐_抖音怎么设置说完话后再放音乐 视频先配音后半段添加背景音乐...
  4. 深度学习核心技术精讲100篇(四十一)-阿里飞猪个性化推荐:召回篇
  5. inotify+rsync实现实时同步部署
  6. 前沿分享|阿里云数据库解决方案架构师 王宏宇:云原生数据仓库AnalyticDB在零售行业的深度应用和业务价值
  7. 所有配置_Springboot 打印所有配置
  8. 客座编辑:朱扬勇,男,复旦大学计算机科学技术学院教授,上海市数据科学重点实验室主任。...
  9. css Tab选项卡
  10. javascript canvas生成分形图练习
  11. pthread_detach():主线程与子线程分离,子线程结束后,资源自动回收
  12. OpenShift 4 之Service Mesh教程(5)- 断路器Circuit Breaker
  13. 009.共享目录下VS编写的程序在linux下打开出现中文乱码
  14. 1725.可以形成最大正方形的矩阵数目
  15. SpringCloud的EurekaClient : 客户端应用访问注册的微服务(无断路器场景)
  16. Android: 在WebView中获取网页源码
  17. 记录一次浏览器主页被劫持的经历
  18. lora终端连接云服务器_一种LoRa服务器及其数据传输方法与流程
  19. 分享一个网盘:千脑网
  20. 国家语言文字工作委员会3500个常用字

热门文章

  1. mysql5.6.25及以上下载衔接
  2. ERROR 1045 (28000): Access denied for user 'backup'@'mysql' (using password: YES)
  3. java基本数据类型填空题_java基本数据类型练习题
  4. java check word lock_Java多线程-新特征-锁(下)
  5. 服务器技术文件,服务端开发技术文档要包含什么?
  6. EMF-edit功能解析
  7. 粒度计算机英语,An Overview of Granular Computing粒度计算研究综述
  8. android字节数转兆,ios – Swift – 如何计算字节数并将其转换为兆字节?
  9. 下载Oracle_VM_VirtualBox_Extension_Pack-5.2.28.vbox-extpack
  10. 使用Unity开发RPG游戏完整指南(全)