常用工具类规整-DateUtil

2024-02-22 07:48

本文主要是介绍常用工具类规整-DateUtil,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

package com.live.test.api.core.date.ju;import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;/*** 日期工具类 基于 java.util.Calendar* * @author live* @2020年2月19日 @下午*/
public class DateUtil {/*** yyyy_MM_dd*/public static final String FORMAT_yyyy_MM_dd = "yyyy-MM-dd";/*** yyyy-MM*/public static final String FORMAT_yyyy_MM = "yyyy-MM";/*** 1秒 的毫秒数*/public static final long MILLISECOND_OF_SECOND = 1000;/*** 1分钟 的毫秒数*/public static final long MILLISECOND_OF_MINUTE = MILLISECOND_OF_SECOND * 60;/*** 1小时 的毫秒数*/public static final long MILLISECOND_OF_HOUR = MILLISECOND_OF_MINUTE * 60;/*** 1天 的毫秒数*/public static final long MILLISECOND_OF_DAY = MILLISECOND_OF_HOUR * 24;/*** 获取当前时刻 的时间戳* * @return 毫秒*/public static long getNowMillis() {return System.currentTimeMillis();}/*** 获取当前时刻 距离 次日0点0分0秒 的毫秒数* * @return 毫秒*/public static long getNowToZeroMillis() {return getZeroMillis() - getNowMillis();}/*** 获取 次日0点0分0秒 的时间戳* * @return 毫秒*/public static long getZeroMillis() {Calendar calendar = Calendar.getInstance();calendar.add(Calendar.DAY_OF_MONTH, 1);// 加1表示明天的0点calendar.set(Calendar.HOUR_OF_DAY, 0);// 24小时制calendar.set(Calendar.MINUTE, 0);calendar.set(Calendar.SECOND, 0);calendar.set(Calendar.MILLISECOND, 0);return calendar.getTimeInMillis();}/*** */public static String format = "yyyy-MM-dd HH:mm:ss";/*** 判断两个日期是否同日* * @param date1* @param date2* @return*/public static boolean isEqualDay(Date date1, Date date2) {Calendar calendar1 = Calendar.getInstance();calendar1.setTime(date1);Calendar calendar2 = Calendar.getInstance();calendar2.setTime(date2);int i = calendar1.get(Calendar.DAY_OF_YEAR);int i2 = calendar2.get(Calendar.DAY_OF_YEAR);return i == i2;}/*** 判断两个日期是否同周* * @param date1* @param date2* @return*/public static boolean isEqualWeek(Date date1, Date date2) {Calendar calendar1 = Calendar.getInstance();calendar1.setTime(date1);Calendar calendar2 = Calendar.getInstance();calendar2.setTime(date2);int week1 = calendar1.get(Calendar.WEEK_OF_MONTH);int week2 = calendar2.get(Calendar.WEEK_OF_MONTH);return isEqualMonth(date1, date2) && week1 == week2;}/*** 判断两个日期是否同月* * @param date1* @param date2* @return*/public static boolean isEqualMonth(Date date1, Date date2) {Calendar calendar1 = Calendar.getInstance();calendar1.setTime(date1);Calendar calendar2 = Calendar.getInstance();calendar2.setTime(date2);return calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR)&& calendar1.get(Calendar.MONTH) == calendar2.get(Calendar.MONTH);}/*** 获取指定年月的第一天* * @param year* @param month* @return*/public static String getFirstDayOfMonth(int year, int month) {Calendar cal = Calendar.getInstance();cal.set(Calendar.YEAR, year);cal.set(Calendar.MONTH, month - 1);int firstDay = cal.getMinimum(Calendar.DATE);cal.set(Calendar.DAY_OF_MONTH, firstDay);SimpleDateFormat sdf = new SimpleDateFormat(format);return sdf.format(cal.getTime());}/*** 获取指定年月的最后一天* * @param year* @param month* @return*/public static String getLastDayOfMonth(int year, int month) {Calendar cal = Calendar.getInstance();cal.set(Calendar.YEAR, year);cal.set(Calendar.MONTH, month - 1);int lastDay = cal.getActualMaximum(Calendar.DATE);cal.set(Calendar.DAY_OF_MONTH, lastDay);SimpleDateFormat sdf = new SimpleDateFormat(format);return sdf.format(cal.getTime());}public static String coverToString(Date date, String format) {return new SimpleDateFormat(format).format(date);}/*** Date对象转为: 年月日* * @param date* @return*/public static String coverToDay(Date date) {return coverToString(date, FORMAT_yyyy_MM_dd);}/*** Date对象转为: 年月* * @param date* @return*/public static String coverToMonth(Date date) {return coverToString(date, FORMAT_yyyy_MM);}
}

代码地址:

github:https://github.com/sunxiaoning90/com_live_test/tree/master/com_live_test_javase/com_live_test_javase_core

这篇关于常用工具类规整-DateUtil的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/734586

相关文章

Linux常用工具与命令日常记录(长期更新)

Linux常用工具与命令日常记录(长期更新) 目录 1.本地复制到远程2.Linux压缩拆包与解压3.生成随机密码4.ubuntu默认Python版本设置5.计算当前文件夹中文件数量6.windows中编写shell脚本,在Linux运行出错7.history 历史命令显示时间用户8.Ubuntu18.04设置源、网卡9.Ubuntu18.04设置网卡10.Ubuntu:自定义开

软件测试常用工具总结(测试管理、单元测试、接口测试、自动化测试、性能测试、负载测试...)

前言 在软件测试的过程中,多多少少都是会接触到一些测试工具,作为辅助测试用的,以提高测试工作的效率,使用好了测试工具,能对测试起到一个很好的作用,同时,有些公司,也会要求掌握一些测试工具,或者,是在面试时,也会被问到测试工具的,比如,在面试时,最常见的问题便是,你在测试时,用的是什么测试工具?或者,要做性能测试时,要用什么测试工具进行测试会比较好?等等问题。 作为测试人员,了解下现在有哪些

新手必备:SpringBoot3如何使用redis?怎么配置?实现一个常用工具类?

最近在做 Spring Boot 项目,借此机会,我使用了 Spring Boot 3 和 JDK 17 的组合,整理了一下 Redis 的配置方式,并通过实践实现了常用的 Redis 工具类。我这里主要是整理一下如何在 Spring Boot 3 中使用 Redis,以及如何自定义工具类实现常见的 Redis 操作。 Spring Boot 3.x 和 JDK 17 兼容,特别是在 Sprin

python dateutil.parser模块介绍

dateutil.parser 是 dateutil 库中的一个模块,专门用于解析各种格式的日期和时间字符串。与 Python 标准库中的 datetime.strptime() 相比,dateutil.parser 更加灵活,不需要明确指定日期的格式,能够自动识别和处理多种日期格式。 1. 基本功能 dateutil.parser 的主要功能是将字符串形式的日期和时间转换为 Python

java篇 常用工具类 0x05:基本类型的自动装箱拆箱

文章目录 数字基本类型的封装类和常用方法字符基本类型的封装类和常用方法布尔基本类型的封装类和常用方法 java 从第一个版本开始,就为每种基本类型提供了封装的类,以便可以将其当作类而非基本数据类型使用。 比如 List、Map 这些类,都是操作 Object,无法操作基本数据类型。你无法用 int 作为 Map 的 key 或 value,所以 java 允许让 int 封装

java篇 常用工具类 0x04:lambda

文章目录 lambda 的使用前提(限制)lambda 的使用形式lambda实际工作流程用 Exception 报错来追踪 lambda 调用流程自己定义能写成 lambda 格式的方法与接口 stream() 与 collect()lambda还可以抛出异常lambda 的精髓lambda 使用建议 在 java 中,类是一等公民,即什么东西都离不开类,一定得先有类,然后再往

java篇 常用工具类 0x03:Iterator 与 Iterable 接口

文章目录 Iterator 接口Iterable 接口手动实现 Iterable 接口示例 Iterator 接口 Iterator 接口在 java.util 包中。实现了 Iterator 接口的类就可以支持遍历操作。 public interface Iterator<E> {// 只需要关注到这两个抽象方法boolean hasNext(); // 还有没有

黑客常用工具

常用工具 tskill.exe  能察看和杀死系统隐藏进程的工具,和pslist一样不过支持win98  sysinfo.exe  察看系统信息的命令行工具  upx1.90.rar  鼎鼎大名的upx压缩工具1.90版  T-PsKit.rar  枚举系统信息的工具  wsu.rar  以其他用户身份或进程身份创建新的进程,适用于 Windows nt4/2000/xp/2003  a

Android天地图常用工具

天地图依赖资源包,直接把地址复制到浏览器下载: http://download.tianditu.com/download/mobile/Tiandituapi3.0.2%2820190103-02%29.zip /*** 天地图工具*/public class SkyLandMap {/*** 设置中心点** @param context 上下文对象* @param mapView 地图对象

定义一个不规整的二维数组,并将其从控制台输出

public class Array{public static void main(String [] args){int [][] a = new int [][]{{1,2,3},{4},{5,6,7,8}}; //定义一个不规整的二维数组for(int i =0;i<a.length;i++){//遍历行数for(int j= 0;j<a[i].length;j++){//遍历列数Sys