日期格式化、时间差转换
来源:互联网 发布:ff14女精灵捏脸数据 编辑:程序博客网 时间:2024/05/17 01:04
在项目中,难免会遇到日期转换或者计算时间差的,于是就整合成了一个util,方便以后使用。以下是代码
package com.magingunion.framework.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtil { /** * 将时间字符串转换为Date类型 * @param dateStr * @return Date */ public static Date toDate(String dateStr) { Date date = null; SimpleDateFormat formater = new SimpleDateFormat(); formater.applyPattern("yyyy-MM-dd "); try { date = formater.parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } return date; } /** * 按照提供的格式将字符串转换成Date类型 * @param dateStr * @param formaterString * @return */ public static Date toDate(String dateStr, String formaterString) { Date date = null; SimpleDateFormat formater = new SimpleDateFormat(); formater.applyPattern(formaterString); try { date = formater.parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } return date; } /** * 将Date类型时间转换为字符串 * @param date * @return */ public static String toString(Date date) { String time; SimpleDateFormat formater = new SimpleDateFormat(); formater.applyPattern("yyyy-MM-dd"); time = formater.format(date); return time; } /** * 按照参数提供的格式将Date类型时间转换为字符串 * @param date * @param formaterString * @return */ public static String toString(Date date, String formaterString) { String time; SimpleDateFormat formater = new SimpleDateFormat(); formater.applyPattern(formaterString); time = formater.format(date); return time; } /** * *功能:计算时间差 *@param startTime *@param endTime *@return */ public static String dateDiff(String startTime, String endTime) { // 按照传入的格式生成一个simpledateformate对象 SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数 long nh = 1000 * 60 * 60;// 一小时的毫秒数 long nm = 1000 * 60;// 一分钟的毫秒数 long ns = 1000;// 一秒钟的毫秒数 long diff; long day = 0; long hour = 0; long min = 0; long sec = 0; // 获得两个时间的毫秒时间差异 try { diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime(); day = diff / nd;// 计算差多少天 hour = diff % nd / nh + day * 24;// 计算差多少小时 min = diff % nd % nh / nm + day * 24 * 60;// 计算差多少分钟 sec = diff % nd % nh % nm / ns;// 计算差多少秒 // 输出结果 System.out.println("时间相差:" + day + "天" + (hour - day * 24) + "小时" + (min - day * 24 * 60) + "分钟" + sec + "秒。"); System.out.println("hour=" + hour + ",min=" + min); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(min<=60){ return min - day * 24 * 60+"分钟"; }else if(min>60 && hour<24){ return (hour - day * 24) + "小时" + (min - day * 24 * 60) + "分钟"; }else { return day + "天" + (hour - day * 24) + "小时" + (min - day * 24 * 60) + "分钟"; } } /** * *功能: 小时差 *@param startTime *@param endTime *@return */ public static String hourDiff(String startTime, String endTime) { // 按照传入的格式生成一个simpledateformate对象 SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数 long nh = 1000 * 60 * 60;// 一小时的毫秒数 long nm = 1000 * 60;// 一分钟的毫秒数 long ns = 1000;// 一秒钟的毫秒数 long diff; long day = 0; long hour = 0; long min = 0; long sec = 0; // 获得两个时间的毫秒时间差异 try { diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime(); day = diff / nd;// 计算差多少天 hour = diff % nd / nh + day * 24;// 计算差多少小时 min = diff % nd % nh / nm + day * 24 * 60;// 计算差多少分钟 sec = diff % nd % nh % nm / ns;// 计算差多少秒 // 输出结果 System.out.println("时间相差:" + day + "天" + (hour - day * 24) + "小时" + (min - day * 24 * 60) + "分钟" + sec + "秒。"); System.out.println("hour=" + hour + ",min=" + min); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return String.valueOf(hour); }}
在项目开发中还是很实用的,在此处记下来。`
阅读全文
0 0
- 日期格式化、时间差转换
- oracle日期转换及时间差
- Code15转换/格式化Unix时间差到DateTime
- sql日期格式化转换
- sql日期格式化转换
- javascript日期格式化 转换
- js日期转换--日期格式化
- mysql 字符串转换为日期 日期格式化
- Python 2.7 日期格式化 字符串日期转换
- mysql当前时间,日期转换,日期格式化
- jq、js实现字符串转换日期计算时间差
- 时间差和时间格式化
- SQL 格式化时间差
- java 格式化计算时间差
- FLEX日期格式化处理和字符串转换
- FLEX日期格式化处理和字符串转换
- 把格式化日期转换成毫秒值
- 日期的转换 以及 数字的格式化
- Android 打开关闭闪光灯。
- websites
- C++11 智能指针
- C++ ---- char,char*,char**,char [],char* []
- Python装饰器学习(九步入门)
- 日期格式化、时间差转换
- 如何免费下载优质的PPT模板?
- 29_面向对象_02_面向对象的方式思考问题
- <纯干货-5>Deep Reinforcement Learning深度强化学习_论文大集合
- http状态码
- Deep Learning论文笔记之(五)CNN卷积神经网络代码理解
- CI 处理json
- Inkpad绘图原理浅析
- $("body").append()是什么意思?