整合日期工具类DateUtils

  • dateUtils日期工具类封装-各类格式方法

    pom文件引入
        <dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.5</version>
</dependency>

封装的具体格式

package com.webui.utils;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil; import java.util.Date; /**
* 日期工具类
*
* @author czy
* @date 2020年08月03日上午午11:20:58
*/
public class DateUtils extends DateUtil {
/**
* 例:2019
*/
public final static String YYYY = "yyyy";
/**
* 例:2019-10
*/
public final static String YYYY_MM = "yyyy-MM";
/**
* 例:2019-10-01
*/
public final static String YYYY_MM_DD = "yyyy-MM-dd";
/**
* 例:10-10 10:10:10
*/
public final static String MM_DD_HH_MM_SS = "MM-dd HH:mm:ss";
/**
* 例:10:10
*/
public final static String HH_MM = "HH:mm";
/**
* 例:2019-10-10 10:10:10
*/
public final static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
/**
* 例:10-10
*/
public final static String MM_DD = "MM-dd";
/**
* 例:10:10:10
*/
public final static String HH_MM_SS = "HH:mm:ss"; /**
* 返回YYYY 为格式的时间字符
*
* @return String
*/
public static String getCurrentYear() {
return DateTime.now().toString(YYYY);
} /**
* 返回YYYY-MM 为格式的时间字符
*
* @return String
*/
public static String getCurrentYearAndMonth() {
return DateTime.now().toString(YYYY_MM);
} /**
* 返回YYYY-MM-DD 为格式的时间字符
*
* @return String
*/
public static String getCurrentYearAndMonthAndDate() {
return DateTime.now().toString(YYYY_MM_DD);
} /**
* 返回YYYY-MM-DD HH:mm:ss 为格式的时间字符
*
* @return String
*/
public static String getCurrentTime() {
return DateTime.now().toString(YYYY_MM_DD_HH_MM_SS);
} /**
* 返回MM-dd HH:mm:ss 为格式的时间字符
*
* @return String
*/
public static String getCurrentDateAndTime() {
return DateTime.now().toString(MM_DD_HH_MM_SS);
} /**
* 返回HH:mm 为格式的时间字符
*
* @return String
*/
public static String getCurrentHourAndMinutes() {
return DateTime.now().toString(HH_MM);
} /**
* 返回HH:mm:ss 为格式的时间字符
*
* @return String
*/
public static String getCurrentHourAndMinutesAndSeconds() {
return DateTime.now().toString(HH_MM_SS);
} /**
* 返回YYYYMMDDHHmmss 为格式的时间字符
*
* @return String
*/
public static String getTimeMillis() {
return DateTime.now().toString(DatePattern.PURE_DATETIME_MS_PATTERN);
} /**
* @param date
* @param format
* @return
*/
public static String dateToStr(Date date, String format) {
return new DateTime(date).toString(format);
} /**
* 返回当前年
*
* @return int
*/
public static int getYear() {
return thisYear();
} /**
* 返回当前月份
*
* @return int
*/
public static int getMonth() {
return thisMonth();
} /**
* 返回当天是当月的第几号
*
* @return int
*/
public static int getDay() {
return thisDayOfMonth();
} /**
* 返回当前小时,24小时制
*
* @return String
*/
public static int getHour() {
return thisHour(true);
} /**
* 返回当前毫秒数
*
* @return String
*/
public static long getCurrentMillisecond() {
return System.currentTimeMillis();
} /**
* 获取传入时间之后的多少天
*
* @param date 传入时间
* @param i 加几天
* @return 返回时间格式:yyyy-MM-dd HH:mm:ss
*/
public static String getAfterDay(Date date, int i) {
return offsetDay(date, i).toString();
} /**
* 获取几天前的时间 时间格式yyyy-MM-dd HH:mm:ss
*
* @param beforeDay
* @return 返回时间格式:yyyy-MM-dd HH:mm:ss
*/
public static String getBeforeDay(Date date, int beforeDay) {
return offsetDay(date, -beforeDay).toString();
} /**
* 获取传入时间之后多少给小时的时间
*
* @param date 传入时间
* @param i 加几个小时
* @return 返回时间格式:yyyy-MM-dd HH:mm:ss
*/
public static String getAfterHour(Date date, int i) {
return offsetHour(date, i).toString();
} /**
* 获取传入时间之前多少给小时的时间 时间格式yyyy-MM-dd HH:mm:ss
*
* @param beforeHour
* @return 返回时间格式:yyyy-MM-dd HH:mm:ss
*/
public static String getBeforeHour(Date date, int beforeHour) {
return offsetDay(date, -beforeHour).toString();
} /**
* 把日期字符串转换为具体日期刊
*
* @param dateString
* @param format 可以是yyyy-MM-dd HH:mm:ss,yyyyMMddHHmmss,yyyy-MM-dd任何需要得到的模式
* @return
*/
public static Date stringToDate(String dateString, String format) {
return parse(dateString, format);
} /**
* 获取某年最后一天日期,返回时间格式--例:"2019-12-31 23:59:59"
*
* @param date
* @return 返回时间格式--例:"2019-12-31 23:59:59"
*/
public static String getYearLastDay(Date date) {
return endOfYear(date).toString();
} /**
* 相差时间天数
*
* @param time1
* @param time2
* @return
*/
public static long getBetweenDay(String time1, String time2) {
Date date1 = parse(time1);
Date date2 = parse(time2);
return between(date1, date2, DateUnit.DAY);
} /**
* 相差时间秒数
*
* @param time1
* @param time2
* @return
*/
public static long getBetweenSecond(String time1, String time2) {
Date date1 = parse(time1);
Date date2 = parse(time2);
return between(date1, date2, DateUnit.SECOND);
} /**
* 毫秒数转换为"yyyy-MM-dd HH:mm:ss"格式时间
*
* @return String
*/
public static String getTimeForMillisecond(Long millisecond) {
return date(calendar(millisecond)).toString();
} /**
* 判断 当前时间在开始时间与结束时间之间
*
* @param startTime 开始时间
* @param endTime 结束时间
* @param judgeTime 需要判断的时间
* @return
*/
public static Boolean betweenIsStartAndEnd(String startTime, String endTime, String judgeTime) {
return isIn(parse(judgeTime), parse(startTime), parse(endTime));
} /**
* 判断 时间1是否大于时间2
*
* @return 计算错误返回0
*/
public static Boolean compareDateTime(String time1, String time2, String format) {
Date date1 = stringToDate(time1, format);
Date date2 = stringToDate(time2, format);
if (date1.getTime() > date2.getTime()) {
return true;
} else {
return false;
}
} /**
* 计算出开始时间和结束时间的毫秒差,判断是否超过设定的超时时间,返回描述时间和描述信息字符串
*
* @param overrideTime 设定的超时时间
* @param startTime 开始时间
* @param endTime 结束时间
* @return
*/
public static String logTimeout(long overrideTime, long startTime, long endTime) {
long s = endTime - startTime;
return s > overrideTime ? s + "ms,超时" : s + "ms";
} }

更多测试技术分享、学习资源以及一些其他福利可关注公众号:【Coding测试】获取:

java之封装日期工具类DateUtils的更多相关文章

  1. java 日期工具类DateUtils

      日期工具类DateUtils CreateTime--2017年5月27日08:48:00Author:Marydon DateUtils.java-对日期类的进一步封装 import java. ...

  2. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  3. 日期工具类 DateUtils(继承org.apache.commons.lang.time.DateUtils类)

    /** * */ package com.dsj.gdbd.utils.web; import org.apache.commons.lang3.time.DateFormatUtils; impor ...

  4. 在JAVA中封装JSONUtil工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  5. Java代码封装redis工具类

    maven依赖关系: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis&l ...

  6. 在JAVA中封装JSONUtils工具类及使用 (转)

    import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util. ...

  7. Java日期工具类DateUtils详解(转)

    jar包 appache下的 common-lang3 一. 对指定的日期新增年.月.周.日.小时.分钟.秒.毫秒 public static Date addDays(Date date, int ...

  8. 【转】日期工具类DateUtils

    转自csdn,原作者:jzhf2012 package date.util; import java.text.ParseException; import java.text.SimpleDateF ...

  9. Java 日期工具类(日期,月份加减等)--转

    package util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.C ...

  10. Java案例——日期工具类

    需求:定义一个日期工具类,包含两个方法,按日期转化成指定格式的字符串,把字符串解析为指定格式的日期 然后定义一个测试类测试 分析: 1.定义一个日期工具类 2.定义一个方法dateToString,用 ...

随机推荐

  1. 粉丝提问|c语言:如何定义一个和库函数名一样的函数,并在函数中调用该库函数

    问题描述: 某个函数fun_1()是在lib内,没法修改的,在程序中大量的使用了该函数,现在想把原本fun_1失效(现在失效的方法是#define fun_1(..)),用另外一个函数fun_2(), ...

  2. redhat8 rhel8 启动grub损坏修复

    环境:redhat8.4 RHEL8.4 服务器:华为G560 问题描述:调整了/etc/default/grub文件,重新生成/boot/grub2/grub.cfg导致机器启动失败,直接进入了re ...

  3. WinForm 使用委托动态更新数据

    使用委托动态更新数据 详细代码 // 声明一个委托,用于更新消息的文本提示 private delegate void UpdateMsgTextDelegate(string text); // 定 ...

  4. locale 设置

    locale 介绍 在终端中,locale(本地化)设置是指与本地语言.国家和文化偏好有关的环境变量的配置.这些设定决定了程序如何处理和显示字符.时间.日期格式.货币等. 在类 Unix 系统(比如 ...

  5. Homebrew 卸载 Wireshark 报错

    我在使用 Homebrew 安装 Wireshark 的时候,Homebrew 要求我输入密码.此时我又不想安转 Wireshark 了,于是我没有输入密码并且按下了 Ctrl + C.后来,我又尝试 ...

  6. 自动调用关闭释放资源try-with-resources

    try-with-resources自动执行释放资源 看到了try这个关键字立马就应该能想到异常处理机制try-catch-finally语句块.这里要说的东西和异常处理背后的机制其实几乎是一样的,只 ...

  7. docker with GPU support

    自己总结的: nvidia-docker, 不支持windows,2019.10, nvidia-docker过时了,从docker 1903开始,安装一个nvidia-container-runti ...

  8. C语言输出格式工整的日历——2乘6样式(详见本文)

    本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码如不能在Dev-C++上完好运行,出现如下问题: E:\Dev-Cpp\源代码\万年历.c [Error] 'for' loop initia ...

  9. 超轻量级、支持插件的 .NET 网络通信框架

    前言 给大家推荐一个轻量级的.支持插件的综合网络通信库:TouchSocket. TouchSocket 的基础通信功能包括 TCP.UDP.SSL.RPC 和 HTTP.其中,HTTP 服务器支持 ...

  10. DOM & BOM – 大杂烩

    Document.scrollingElement 参考: why to use 'html, body' for scrollTop instead of just 'html' MDN 使用doc ...