java针对于时间转换的DateUtils工具类
时间:2019-04-11
本文章向大家介绍java针对于时间转换的DateUtils工具类,主要包括java针对于时间转换的DateUtils工具类使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了时间转换的DateUtils工具类,供大家参考,具体内容如下
import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; /** * 时间日期工具类 * * @author wul * 2015-12-31 */ public class DateUtil { public static final String DATE_NORMAL_FORMAT = "yyyy-MM-dd"; public static final String DATETIME_NORMAL_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_COMPACT_FORMAT = "yyyyMMdd"; public static final String DATETIME_COMPACT_FORMAT = "yyyyMMddHHmmss"; public static final String YM_NORMAL_FORMAT = "yyyy-MM"; public static final String YM_COMPACT_FORMAT = "yyyyMM"; /** * String转Timestamp * @param dateStr * @return * @author wul * 2016-1-17 */ public static Timestamp stringToTimestamp(String dateStr) { try { if(dateStr.length() <= 10) { dateStr += " 00:00:00"; } return Timestamp.valueOf(dateStr); } catch (Exception e) { e.printStackTrace(); return null; } } /** * String转Date * @param dateStr * @param format * @return * @author wul * 2016-1-17 */ public static Date stringToDate(String dateStr, String format) { if(dateStr == null || "".equals(dateStr)){ return null; } Date date = null; //注意format的格式要与日期String的格式相匹配 SimpleDateFormat sdf = new SimpleDateFormat(format); try { date = sdf.parse(dateStr); } catch (Exception e) { e.printStackTrace(); } return date; } /** * Date转String * @param date * @param format * @return * @author wul * 2016-1-17 */ public static String dateToString(Date date, String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); String currentDate = sdf.format(date); return currentDate; } /** * Date转Timestamp * @param date * @return * @author wul * 2016-1-17 */ public static Timestamp dateToTimestamp(Date date) { Timestamp ts = new Timestamp(date.getTime()); return ts; } /** * Timestamp转String * @param ts * @return * @author wul * 2016-1-17 */ public static String timestampToString(Timestamp ts) { String tsStr = null; SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_NORMAL_FORMAT); try { tsStr = sdf.format(ts); } catch (Exception e) { e.printStackTrace(); } return tsStr; } /** * Timestamp转Date * @param ts * @return * @author wul * 2016-1-17 */ public static Date timestampToDate(Timestamp ts) { return ts; } /** * 获得当前时间并格式化:yyyy-MM-dd HH:mm:ss * @return */ public static String getCurrentTimeNormal() { SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_NORMAL_FORMAT); String currentDate = sdf.format(new Date()); return currentDate; } /** * 获得当前时间并格式化:yyyyMMddHHmmss * @return */ public static String getCurrentTimeCompact() { SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_COMPACT_FORMAT); String currentDate = sdf.format(new Date()); return currentDate; } /** * 获得当前时间并格式化:yyyy-MM-dd * @return */ public static String getCurrentDateNormal() { SimpleDateFormat sdf = new SimpleDateFormat(DATE_NORMAL_FORMAT); String currentDate = sdf.format(new Date()); return currentDate; } /** * 获得当前时间并格式化:yyyyMMdd * @return */ public static String getCurrentDateCompact() { SimpleDateFormat sdf = new SimpleDateFormat(DATE_COMPACT_FORMAT); String currentDate = sdf.format(new Date()); return currentDate; } /** * 将20101202时间格式化为2010-12-02 * * @param DateString 时间格式:yyyyMMdd * @return */ public static String getDateCompactToNormal(String DateString){ StringBuilder sb = new StringBuilder(); sb.append(DateString.substring(0,4)).append("-").append(DateString.subSequence(4, 6)).append("-").append(DateString.substring(6, 8)); return sb.toString(); } /** * 将20101202101423时间格式化为2010-12-02 10:14:23 * * @param DateString 时间格式:yyyyMMddHHmmss * @return */ public static String getDateTimeCompactToNormal(String DateString){ StringBuilder sb = new StringBuilder(); sb.append(DateString.substring(0,4)).append("-").append(DateString.subSequence(4, 6)).append("-").append(DateString.substring(6, 8)) .append(" ").append(DateString.substring(8, 10)).append(":").append(DateString.substring(10, 12)).append(":").append(DateString.substring(12)); return sb.toString(); } /** * 把界面输入的时间转为间凑的时间字符串 * 将2010-12-02 10:14:23时间格式化为20101202101423 * @param dateNormalStr String * @return String */ public static String getCompactString(String dateNormalStr) { StringBuffer ret = new StringBuffer(); try { ret.append(dateNormalStr.substring(0, 4)); ret.append(dateNormalStr.substring(5, 7)); ret.append(dateNormalStr.substring(8, 10)); ret.append(dateNormalStr.substring(11, 13)); ret.append(dateNormalStr.substring(14, 16)); ret.append(dateNormalStr.substring(17, 19)); } catch (Exception ex) { // 如果字串不够长度,则返回前面的部分 } return ret.toString(); } /** * 将20101202(101423)时间格式 获得年份 * @param DateString 时间格式:yyyyMMdd(HHmmss) * @return */ public static String getYear(String DateString){ return DateString.substring(0,4); } /** * 将20101202(101423)时间格式 获得月份 * @param DateString 时间格式:yyyyMMdd(HHmmss) * @return */ public static String getMonth(String DateString){ return DateString.substring(4,6); } /** * 将20101202时间格式 获得日期 * @param DateString 时间格式:yyyyMMdd * @return */ public static String getDayNoTime(String DateString){ return DateString.substring(6); } /** * 获取当前日期之前的日期,按天数向前推 * @param numVal * @param dateFormat * @return * @author wul * 2016-1-17 */ public static String getBeforeDatePlusDay(int numVal, String dateFormat) { Calendar calendar = Calendar.getInstance(); long currentTimeMillis = calendar.getTimeInMillis(); long hourInMillis = 60 * 60 * 1000; long dVal = numVal * 24 * hourInMillis; SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); String currentDate = sdf.format(currentTimeMillis - dVal); return currentDate; } /** * 获取当前日期之前的日期,按天数向前推 * @param numVal * @param dateFormat * @return * @author wul * 2016-1-17 */ public static String getAfterDatePlusDay(int numVal, String dateFormat) { Calendar calendar = Calendar.getInstance(); long currentTimeMillis = calendar.getTimeInMillis(); long hourInMillis = 60 * 60 * 1000; long dVal = numVal * 24 * hourInMillis; SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); String currentDate = sdf.format(currentTimeMillis + dVal); return currentDate; } /** * 获取当前日期之前的日期,按小时向前推 * @param numVal * @param dateFormat * @return * @author wul * 2016-1-17 */ public static String getBeforeDatePlusHour(int numVal, String dateFormat) { Calendar calendar = Calendar.getInstance(); long currentTimeMillis = calendar.getTimeInMillis(); long hourInMillis = 60 * 60 * 1000; long dVal = numVal * hourInMillis; SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); String currentDate = sdf.format(currentTimeMillis - dVal); return currentDate; } /** * 获取当前日期之前的日期,按小时向前推 * @param numVal * @param dateFormat * @return * @author wul * 2016-1-17 */ public static String getAfterDatePlusHour(int numVal, String dateFormat) { Calendar calendar = Calendar.getInstance(); long currentTimeMillis = calendar.getTimeInMillis(); long hourInMillis = 60 * 60 * 1000; long dVal = numVal * hourInMillis; SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); String currentDate = sdf.format(currentTimeMillis + dVal); return currentDate; } /** * 两个日期相差天数 * @param beginDate * @param endDate * @return * @author wul * 2016-1-18 */ public static int daysBetween(Date beginDate, Date endDate) { Calendar cal = Calendar.getInstance(); cal.setTime(beginDate); long time1 = cal.getTimeInMillis(); cal.setTime(endDate); long time2 = cal.getTimeInMillis(); long between_days = (time2 - time1) / (1000 * 3600 * 24); return Integer.parseInt(String.valueOf(between_days)); } /** * 获取某月天数 * @param year * @param month * @return * @author wul * 2016-1-18 */ public static int getMonthdays(int year, int month) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1); return cal.getActualMaximum(Calendar.DATE); } /** * 给时间加减年份 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusYear(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.YEAR, plusTime); Date d = cal.getTime(); return d; } /** * 给时间加减月份 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusMonth(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, plusTime); Date d = cal.getTime(); return d; } /** * 给时间加减天数 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusDay(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DATE, plusTime); Date d = cal.getTime(); return d; } /** * 给时间加减小时 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusHour(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.HOUR, plusTime); Date d = cal.getTime(); return d; } /** * 给时间加减分钟 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusMinute(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MINUTE, plusTime); Date d = cal.getTime(); return d; } /** * 给时间加减秒 * @param date * @param plusTime * @return * @author wul * 2016-1-18 */ public static Date getDatePlusSecond(Date date, int plusTime) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.SECOND, plusTime); Date d = cal.getTime(); return d; } /** * 返回当前年 * @return * @author wul * 2016-1-18 */ public static int getCurrentYear() { Calendar calendar = Calendar.getInstance(); return calendar.get(1); } /** * 返回当前月 * @return * @author wul * 2016-1-18 */ public static int getCurrentMonth() { Calendar calendar = Calendar.getInstance(); return calendar.get(2) + 1; } /** * 返回当前天 * @return * @author wul * 2016-1-18 */ public static int getCurrentDay() { Calendar calendar = Calendar.getInstance(); return calendar.get(5); } /** * 返回当前小时 * @return * @author wul * 2016-1-18 */ public static int getCurrentHour() { Calendar calendar = Calendar.getInstance(); return calendar.get(11); } /** * 返回当前分钟 * @return * @author wul * 2016-1-18 */ public static int getCurrentMinute() { Calendar calendar = Calendar.getInstance(); return calendar.get(12); } /** * 返回当前秒 * @return * @author wul * 2016-1-18 */ public static int getCurrentSecond() { Calendar calendar = Calendar.getInstance(); return calendar.get(13); } /** * 返回当前年 * @return * @author wul * 2016-1-18 */ public static int getYear(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(1); } /** * 返回当前月 * @return * @author wul * 2016-1-18 */ public static int getMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(2) + 1; } /** * 返回当前天 * @return * @author wul * 2016-1-18 */ public static int getDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(5); } /** * 返回当前小时 * @return * @author wul * 2016-1-18 */ public static int getHour(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(11); } /** * 返回当前分钟 * @return * @author wul * 2016-1-18 */ public static int getMinute(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(12); } /** * 返回当前秒 * @return * @author wul * 2016-1-18 */ public static int getSecond(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(13); } public static void main(String[] args) { System.out.println(DateUtil.dateToString(new java.sql.Date(System.currentTimeMillis()), DateUtil.DATE_NORMAL_FORMAT)); Map<String,Object> map = new HashMap<String,Object>(); map.put("date", new Date()); String json = JSONObject.fromObject(map).toString(); System.out.println(json); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- C++ STL学习之容器set和multiset (补充材料)
- Codeforces Round #410 (Div. 2)(A,字符串,水坑,B,暴力枚举,C,思维题,D,区间贪心)
- 关于int *a[常量]与int (*a)[常量]的分析与区分(详解)
- python笔记3-发送邮件(smtplib)
- 关关的刷题日记01—Leetcode 169. Majority Element
- 关小刷刷题02——Leetcode 169. Majority Element 方法2和3
- 树链剖分简单分析及模板(杂谈)
- 第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)
- python+requests接口自动化项目完整框架设计
- POJ 1804 Brainman(5种解法,好题,【暴力】,【归并排序】,【线段树单点更新】,【树状数组】,【平衡树】)
- 关关的刷题日记03—Leetcode 448. Find All Numbers Disappeared in an Array
- 关关的刷题日记04——Leetcode 283. Move Zeroes
- UESTC 1591 An easy problem A【线段树点更新裸题】
- 关关的刷题日记05 —— Leetcode 219. Contains Duplicate II
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- spring之添加后置处理器的bean的生命周期
- django-模板之URL标签(五)
- 【猫狗数据集】读取数据集的第二种方式
- django-模板之comment标签(六)
- 【猫狗数据集】对一张张图像进行预测(而不是测试集)
- 【猫狗数据集】pytorch训练猫狗数据集之创建数据集
- 【猫狗数据集】可视化resnet18的输出
- springmvc实例之修改雇员相关信息(四)
- 基于TypeScript封装Axios笔记(六)
- 蓝桥杯 k好数 java版
- 强烈推介的几个微信小程序开发小技巧,简单又实用
- 【pytorch-ssd目标检测】验证自己创建的数据集
- django-模板之自动转义autoescape(八)
- 【pytorch-ssd目标检测】测试自己创建的数据集
- 【pytorch-ssd目标检测】训练自己创建的数据集