java date 日期部分_Java处理Date时间格式的各种场景工具类(二)
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时间格式的各种场景工具类(二)相关推荐
- java的日期操作_java中对时间的操作详解
代码演示: //数据库中去的日期 Date s = list.get(0).getSdate(); System.out.println(s);// Tue Apr 28 00:00:00 CST 2 ...
- 在java中如何把字符串转换成时间格式?
在java中如何把字符串转换成时间格式? 检举 | 2007-11-28 17:26 提问者:baixiao429 | 悬赏分:20 | 浏览次数:6645次 有这样一个字符串:"20070 ...
- java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
文章目录 先看成品 前言 一.项目目录结构 一.海报制作PosterUtil.java工具类 1. 描述 2. 代码 二.测试生成海报 1. 描述 2. 直接上代码 四.其他测试 1. Test1_C ...
- Java 线程 - 基础及工具类 (二)
Java 并发系列文章 Java 线程 - 并发理论基础(一) Java 线程 - 基础及工具类 (二) Java 线程 - 并发设计模式 (三) Java 线程(二) 通用的线程生命周期 Java ...
- 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 ...
- java calendar 增加年_java 使用Date类、Calendar类,实现增加日期
Date date= new Date(); System.out.println("Date date= new Date()中的date: "+date); 输出对象date: ...
- 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 ...
- 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 ...
- JAVA的gettime函数_java中Date的getTime()函数
今天在处理facebook的json时间时,遇到了一个问题,整整困扰了一下午,吃完饭才想出来. facebook给的时间格式"yyyy-MM-ddTHH:mm:ss+0000" 要 ...
最新文章
- Shell-流程控制案例
- Unknown column 'subject_1.pid' in 'field list') [SQL: 'SELECT anon_1.screen_id AS anon_1_screen_i
- foobar2000 ios版怎么添加音乐_抖音怎么设置说完话后再放音乐 视频先配音后半段添加背景音乐...
- 深度学习核心技术精讲100篇(四十一)-阿里飞猪个性化推荐:召回篇
- inotify+rsync实现实时同步部署
- 前沿分享|阿里云数据库解决方案架构师 王宏宇:云原生数据仓库AnalyticDB在零售行业的深度应用和业务价值
- 所有配置_Springboot 打印所有配置
- 客座编辑:朱扬勇,男,复旦大学计算机科学技术学院教授,上海市数据科学重点实验室主任。...
- css Tab选项卡
- javascript canvas生成分形图练习
- pthread_detach():主线程与子线程分离,子线程结束后,资源自动回收
- OpenShift 4 之Service Mesh教程(5)- 断路器Circuit Breaker
- 009.共享目录下VS编写的程序在linux下打开出现中文乱码
- 1725.可以形成最大正方形的矩阵数目
- SpringCloud的EurekaClient : 客户端应用访问注册的微服务(无断路器场景)
- Android: 在WebView中获取网页源码
- 记录一次浏览器主页被劫持的经历
- lora终端连接云服务器_一种LoRa服务器及其数据传输方法与流程
- 分享一个网盘:千脑网
- 国家语言文字工作委员会3500个常用字
热门文章
- mysql5.6.25及以上下载衔接
- ERROR 1045 (28000): Access denied for user 'backup'@'mysql' (using password: YES)
- java基本数据类型填空题_java基本数据类型练习题
- java check word lock_Java多线程-新特征-锁(下)
- 服务器技术文件,服务端开发技术文档要包含什么?
- EMF-edit功能解析
- 粒度计算机英语,An Overview of Granular Computing粒度计算研究综述
- android字节数转兆,ios – Swift – 如何计算字节数并将其转换为兆字节?
- 下载Oracle_VM_VirtualBox_Extension_Pack-5.2.28.vbox-extpack
- 使用Unity开发RPG游戏完整指南(全)