java 日期格式化工具类

  • 代码如下

代码如下

package com.dongao.project.utils;import com.ruoyi.common.utils.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;/*** @Version 1.0* @Date 2019-08-19**/
public class DateUtils extends org.apache.commons.lang3.time.DateUtils
{public static final String YYYY = "yyyy";public static final String YYYY_MM = "yyyy-MM";public static final String YYYY_MM_DD = "yyyy-MM-dd";public static final String YYYY_MM_DD_HH_MM = "yyyyMMddHHmm";public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";public static final String MM_DD_HH_MM = "MM-dd HH:mm";private static String[] parsePatterns = {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM","yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM","yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};/*** 获取当前Date型日期** @return Date() 当前日期*/public static Date getNowDate(){return new Date();}/*** 获取当前日期, 默认格式为yyyy-MM-dd** @return String*/public static String getDate(){return dateTimeNow(YYYY_MM_DD);}public static final String getTime(){return dateTimeNow(YYYY_MM_DD_HH_MM_SS);}public static final String getMmTime(){return dateTimeNow(YYYY_MM_DD_HH_MM);}public static final String dateTimeNow(){return dateTimeNow(YYYYMMDDHHMMSS);}public static final String dateTimeNow(final String format){return parseDateToStr(format, new Date());}public static final String dateTime(final Date date){return parseDateToStr(YYYY_MM_DD, date);}public static final String parseDateToStr(final String format, final Date date){return new SimpleDateFormat(format).format(date);}public static final Date dateTime(final String format, final String ts){try{return new SimpleDateFormat(format).parse(ts);}catch (ParseException e){throw new RuntimeException(e);}}/*** 日期路径 即年/月/日 如2018/08/08*/public static final String datePath(){Date now = new Date();return DateFormatUtils.format(now, "yyyy/MM/dd");}/*** 日期路径 即年/月/日 如20180808*/public static final String dateTime(){Date now = new Date();return DateFormatUtils.format(now, "yyyyMMdd");}/*** 日期型字符串转化为日期 格式*/public static Date parseDate(Object str){if (str == null){return null;}try{return parseDate(str.toString(), parsePatterns);}catch (ParseException e){return null;}}/*** 获取服务器启动时间*/public static Date getServerStartDate(){long time = ManagementFactory.getRuntimeMXBean().getStartTime();return new Date(time);}/*** 计算两个时间差*/public static String getDatePoor(Date endDate, Date nowDate){long nd = 1000 * 24 * 60 * 60;long nh = 1000 * 60 * 60;long nm = 1000 * 60;// long ns = 1000;// 获得两个时间的毫秒时间差异long diff = endDate.getTime() - nowDate.getTime();// 计算差多少天long day = diff / nd;// 计算差多少小时long hour = diff % nd / nh;// 计算差多少分钟long min = diff % nd % nh / nm;// 计算差多少秒//输出结果// long sec = diff % nd % nh % nm / ns;return day + "天" + hour + "小时" + min + "分钟";}public static String getFormatDate(String format,Date date) {if (null != date) {if (StringUtils.isEmpty(format)) {format = YYYY_MM_DD_HH_MM_SS;}String dateStr = parseDateToStr(format, date);return dateStr;}return "";}/*** 秒转小时分* @param second* @return*/public static String getFormatTime(Long second) {if (second != null) {if(second < 3600) {//分return NumFormat(second / 60) + "分";}if(second< 3600 * 24) {//时return NumFormat(second/ 60 / 60) + "小时" + NumFormat(second/ 60 % 60) + "分";}if(second>= 3600 * 24) {//天return NumFormat(second/ 60 / 60 /24) + "天" +NumFormat(second/ 60 / 60 % 24) + "小时" + NumFormat(second/ 60 % 60) + "分";}}return "--";}/*** 格式化时间* @param sec* @return*/private static String NumFormat(long sec) {if (String.valueOf(sec).length() < 2){return "0"+sec;}else {return String.valueOf(sec);}}/*** 获取当前时间前面某天或者后面某天* @param date* @return*/public static Date getOtherDay(Date date, int amount) {Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.DAY_OF_MONTH,amount);Date time = calendar.getTime();return time;}/*** 获取当前时间月日 7.13* @param date* @return*/public static String getMonthDay(Date date) {Calendar calendar = Calendar.getInstance();calendar.setTime(date);//month从0开始int month = calendar.get(Calendar.MONTH) + 1;int day = calendar.get(Calendar.DAY_OF_MONTH);return month+"."+day;}/*** 获取周几* @param date* @return*/public static String getWeek(Date date) {Calendar calendar = Calendar.getInstance();calendar.setTime(date);int weekday = calendar.get(Calendar.DAY_OF_WEEK);String week = null;if (weekday == 1) {week = "周日";} else if (weekday == 2) {week = "周一";} else if (weekday == 3) {week = "周二";} else if (weekday == 4) {week = "周三";} else if (weekday == 5) {week = "周四";} else if (weekday == 6) {week = "周五";} else if (weekday == 7) {week = "周六";}return week;}/*** 根据日期字符串获取时间* @param str* @return*/public static Date getDate(String str) {SimpleDateFormat sdf = new SimpleDateFormat(YYYY_MM_DD);Date parse = null;try {parse = sdf.parse(str);} catch (ParseException e) {e.printStackTrace();}return parse;}/*** 根据日期字符串获取时间* @param format* @param str* @return*/public static Date getDate(String format,String str) {if (StringUtils.isEmpty(format)) {format = YYYY_MM_DD_HH_MM_SS;}SimpleDateFormat sdf = new SimpleDateFormat(format);Date parse = null;try {parse = sdf.parse(str);} catch (ParseException e) {e.printStackTrace();}return parse;}/*** 格式化日期* @param format* @param date* @return*/public static Date getChangeDate(String format,Date date) {if (null != date) {if (StringUtils.isEmpty(format)) {format = YYYY_MM_DD_HH_MM_SS;}String dateStr = parseDateToStr(format, date);Date resDate = getDate(format, dateStr);return resDate;}return null;}/*** 计算两个日期相差几天,不计算结束日期当天* @param start 开始时间* @param end 结束时间* @return*/public static long getDiffDays(Date start,Date end) {long dayNum = 0;if (start != null && end != null) {//格式化时间Date startdate = getChangeDate(YYYY_MM_DD,start);Date enddate = getChangeDate(YYYY_MM_DD,end);//获取时间差long subtract = enddate.getTime() - startdate.getTime();//转换为天数dayNum = subtract / 1000 / 60 / 60 / 24;}return dayNum;}/*** 判断是不是本周* @param date* @return*/public static boolean isThisWeek(Date date) {Calendar calendar = Calendar.getInstance();int currentWeek = calendar.get(Calendar.WEEK_OF_YEAR);calendar.setTime(date);int dateWeek = calendar.get(Calendar.WEEK_OF_YEAR);if (currentWeek == dateWeek) {return true;}return false;}/*** 判断是否是当天* @param date* @return*/public static boolean isThisDay (Date date) {return isThisTime(date,YYYY_MM_DD);}/*** 判断是否是本月* @param date* @return*/public static boolean isThisMonth (Date date) {return isThisTime(date,YYYY_MM);}/*** 判断当前时间* @param date* @param format* @return*/private static boolean isThisTime(Date date, String format) {SimpleDateFormat sdf = new SimpleDateFormat(format);String dateFormat = sdf.format(date);String nowFormat = sdf.format(new Date());if (dateFormat.equals(nowFormat)) {return true;}return false;}}

注: 可直接使用,如有问题欢迎交流,后续遇到好的会继续更新

java 日期格式化工具类相关推荐

  1. java日期工具类DateUtil

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. DateUtil类 [java] view plain copy package com.util; ...

  2. JAVA日期格式化类

    JAVA日期格式化类 1.日期格式化类 java.text.SimpleDateFormat简单日期格式化 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J3dmn0m ...

  3. java格式化时间博客园_Java 日期格式化工具类

    importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava. ...

  4. java 日期处理类

    好用的日期处理类: package com.openapi.util;import org.apache.commons.lang3.StringUtils;import java.text.Date ...

  5. Java日期时间类及计算

    1. Java中与日期相关的类 1.1 java.util包 类名 具体描述 Date Date对象算是JAVA中历史比较悠久的用于处理日期.时间相关的类了,但是随着版本的迭代演进,其中的众多方法都已 ...

  6. java日期工具类(转载)

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  7. Java日期相关类:Date、SimpleDateFormat和Calendar类常用API代码示例

    Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间 Date类的构造方法 Date() :创建的是一个表示当前系统时间的Date对象 Date(long ...

  8. java 日期操作工具类_java8操作日期的工具类

    java8操作日期的工具类 一.方法概览 该包的API提供了大量相关的方法,这些方法一般有一致的方法前缀: of:静态工厂方法. parse:静态工厂方法,关注于解析. get:获取某些东西的值. i ...

  9. Java日期操作工具类

    /*** 格式化日期显示格式** @param sdate* 原始日期格式 s - 表示 "yyyy-mm-dd" 形式的日期的 String 对象* @param format* ...

  10. Java时间格式化工具类大全_二

    本文章主要用于Java实现时间的各种格式的输入要求 import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGr ...

最新文章

  1. Oracle归档已满的处理办法
  2. ECMAScript面向对象(三)——之继承
  3. ORACLE 11G负载均衡测试
  4. 2021年Node.js开发人员学习路线图
  5. 如何降低 Python 的内存消耗量?
  6. Java21天打卡Day5-ifelse
  7. 【VC++类型转换】string转换为CString
  8. gensler逻辑学导论_学逻辑学,哪本书入门合适?
  9. 番茄助手在VS2017中的设置
  10. android视频播放的代码
  11. 《赛灵思中国通讯》学习记录第1期:为何使用Zynq SoC可以让企业产品利润激增
  12. 阿里云认证未来网络学院ACE公开课——30分钟掌握ACE考试通关攻略
  13. 苹果开发者账号续费相关问题
  14. python中str类型_python中str指的是什么类型
  15. appcan代码迁出失败
  16. 微信小程序之滑动果冻效果
  17. aruba交换机配置命令_aruba配置手册
  18. java健身房管理系统业务_基于SSM的健身房管理系统
  19. eclipse-svn插件
  20. 从零开始搭建K8S集群(二)-- 搭建K8S集群

热门文章

  1. IaaS PaaS SaaS DaaS基础设施即服务、平台即服务、软件即服务、数据即服务详解
  2. ClassForName应用于工厂模式
  3. 牛顿迭代法求求一个数的算术平方根
  4. Docker实用指令整理
  5. 搞明白activated和deactivated
  6. c++ opencv 读取文件夹里所有图片
  7. FTP服务器的搭建,可两个电脑通过局域网进行传输
  8. FFplay文档解读-4-编解码器选项一
  9. Java中间件mock_JAVA中间件Diamond整理
  10. 计算机绘画小房子教案,中班绘画《房子》教案