整合日期工具类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. jenkins动态切换环境

    一.代码层实现动态切换 1.首先在conftest.py下声明pytest_addoption钩子函数,写法如下 def pytest_addoption(parser): # 设置要接收的命令行参数 ...

  2. MRI roi图像合并

    笔记来源:MRI roi的图像合并 dpabi小工具_哔哩哔哩_bilibili 1. 如果几个图像的维度不一致,需要先进行reslice 1)如何看图像的维度 以软件MRIcron为例, windo ...

  3. 【YashanDB知识库】手动停止统计信息自动收集任务导致的性能变差

    [问题分类]功能使用 [关键字]统计信息收集 [问题描述]UAT对外演示环境因统计信息收集任务引起数据库整理性能变慢无应急处理手段 [问题原因分析] ● DROP_JOB程序用于删除一个非执行状态下的 ...

  4. airflow 学习

    入门 Get started developing workflows with Apache Airflow Getting started with Apache Airflow  

  5. Excel中制作目录的3种方法,你了解几种?

    点赞再看,养成习惯:言之无文,行而不远. 微信搜索[亦心Excel]关注这个不一样的自媒体人. 本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Ex ...

  6. JS常见的API扩展形式(prototype、jquery、vue插件封装)以及怎样设计出易扩展的表单验证功能?

    常见的API扩展形式 prototype 比如我现在有一个需求,给定一个字符串,给方法传递一个参数为数字类型来确定当前字符串重复次数,例如: 'abc'.repeatStringNumTimes(3) ...

  7. Transformer应用于时序任务:综述《Transformers in Time Series: A Survey》

    2022年9月13日 21:28 摸鱼了一天,看看综述. 论文:Transformers in Time Series: A Survey GitHub: 阿里达摩院 2022的论文. 摘要 从两个角 ...

  8. Angular 18+ 高级教程 – Angular Configuration (angular.json)

    前言 记入一些基本的配置. Setup IP Address.SSL.Self-signed Certificate 如果你对 IP Address.SSL.Self-signed Certifica ...

  9. ASP.NET Core – Byte, Stream, Directory, File 基础

    前言 以前的文章: Stream 基础和常用 和 IO 常用. 这篇主要是做一个整理, 方便要用的时候 warm up. 之前有讲过 Bit, Byte 的基本概念: Bit, Byte, ASCII ...

  10. 普元中间件Primeton AppServer6.5部署SuperMap iServer

    本文使用Windows环境普元中间件Primeton AppServer6.5(以下简称PAS)部署SuperMap iServer 一.部署前准备 本文使用SuperMap iServer 11.0 ...