package com.tz.util;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* 时间工具类 最近7天 月初 月末 季度 月度 时间格式化 等等……
*
* @description 时间工具类
* @author: tz
* @dtate: 2020/7/4 5:19 PM
**/
public class DateTimeUtils { private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); /**
* 今晚 00:00:00
*
* @return Date 返回 Date 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static Date getTonightDate() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime();
} /**
* 今晚 00:00:00
*
* @return String 返回 String 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static String getTonightToString() {
return format.format(getTonightDate());
} /**
* 昨晚 00:00:00
*
* @return Date 返回 Date 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static Date getLastNightDate() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) - 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime();
} /**
* 昨晚 00:00:00
*
* @return String 返回 String 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static String getLastNightToString() {
return format.format(getLastNightDate());
} /**
* 月初 00:00:00
*
* @return Date 返回 Date 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static Date getStartMonthDate() {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime();
} /**
* 月初 00:00:00
*
* @return String 返回 String 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static String getStartMonthToString() {
return format.format(getStartMonthDate());
} /**
* 月末 00:00:00
*
* @return Date 返回 Date 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static Date getEndMonthDate() {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 0);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime();
} /**
* 月末 00:00:00
*
* @return String 返回 String 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static String getEndMonthToString() {
return format.format(getEndMonthDate());
} /**
* 当前时间
*
* @return String 返回 String 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static String getCurrentTime() {
return format.format(Calendar.getInstance().getTime());
} /**
* 7天前 00:00:00
*
* @return Date 返回 Date 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static Date getSevenDaysAgo() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - 7);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime();
} /**
* 7天前 00:00:00
*
* @return String 返回 String 类型时间
* @description
* @time 2020/7/4 5:19 PM
*/
public static String getSevenDaysAgoToString() {
return format.format(getSevenDaysAgo());
} /**
* 某一季度开始时间
*
* @param quarter 季度 一年四个季度 1 2 3 4
* @param year 年 例如 2020
* @return Date 返回 Date 类型时间
* @time 2020/7/4 5:19 PM
*/
public static Date getQuarterStartTime(int quarter, int year) { Calendar now = Calendar.getInstance();
int minDay = now.getActualMinimum(Calendar.DAY_OF_MONTH);
if (quarter == 1) {
now.set(year, 0, minDay, 00, 00, 00);
} else if (quarter == 2) {
now.set(year, 3, minDay, 00, 00, 00);
} else if (quarter == 3) {
now.set(year, 6, minDay, 00, 00, 00);
} else if (quarter == 4) {
now.set(year, 9, minDay, 00, 00, 00);
}
return now.getTime();
} /**
* 某一季度开始时间
*
* @param quarter 季度 一年四个季度 1 2 3 4
* @param year 年 例如 2020
* @return String 返回 String 类型时间
* @time 2020/7/4 5:19 PM
*/
public static String getQuarterStartToString(int quarter, int year) {
return format.format(getQuarterStartTime(quarter, year));
} /**
* 某一季度结束时间
*
* @param year 年 例如 2020
* @param quarter 季度 一年四个季度 1 2 3 4
* @return Date 返回 Date 类型时间
* @time 2020/7/4 5:19 PM
*/
public static Date getQuarterEndTime(int year, int quarter) {
Calendar now = Calendar.getInstance();
int maxDay = now.getActualMaximum(Calendar.DAY_OF_MONTH);
if (quarter == 1) {
now.set(year, 2, maxDay, 23, 59, 59);
} else if (quarter == 2) {
now.set(year, 5, maxDay, 23, 59, 59);
} else if (quarter == 3) {
now.set(year, 8, maxDay, 23, 59, 59);
} else if (quarter == 4) {
now.set(year, 11, maxDay, 23, 59, 59);
}
return now.getTime();
} /**
* 某一季度结束时间
*
* @param quarter 季度 一年四个季度 1 2 3 4
* @param year 年 例如 2020
* @return String 返回 String 类型时间
* @time 2020/7/4 5:19 PM
*/
public static String getQuarterEndToString(int year, int quarter) {
return format.format(getQuarterEndTime(year, quarter));
} /**
* 某年某月开始时间
*
* @param year 年份
* @param month 月份 0-11
* @return Date 返回 Date 类型时间
* @time 2020/7/4 5:19 PM
*/
public static Date getMonthStartDate(int year, int month) {
Calendar now = Calendar.getInstance();
int minDay = now.getActualMinimum(Calendar.DAY_OF_MONTH);
now.set(year, month, minDay, 00, 00, 00);
return now.getTime();
} /**
* 某年某月开始时间
*
* @param year 年份
* @param month 月份 0-11
* @return String 返回 String 类型时间
* @time 2020/7/4 5:19 PM
*/
public static String getMonthStarToString(int year, int month) {
return format.format(getMonthStartDate(year, month));
} /**
* 某年某月结束时间
*
* @param year 年份
* @param month 月份 0-11
* @return Date 返回 Date 类型时间
* @time 2020/7/4 5:19 PM
*/
public static Date getMonthEndDate(int year, int month) {
Calendar now = Calendar.getInstance();
int maxDay = now.getActualMaximum(Calendar.DAY_OF_MONTH);
now.set(year, month, maxDay, 23, 59, 59);
return now.getTime();
} /**
* 某年某月结束时间
*
* @param year 年份
* @param month 月份 0-11
* @return String 返回 String 类型时间
* @time 2020/7/4 5:19 PM
*/
public static String getMonthEndToString(int year, int month) {
return format.format(getMonthEndDate(year, month));
} /**
* 字符串格式化 时间
*
* @param time
* @return java.util.Date
* @time 2020/6/2 5:27 PM
*/
public static Date stringDateFormat(String time) {
Date date = null;
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = format.parse(time);
} catch (Exception e) {
e.printStackTrace();
}
return date;
} }

java时间工具类型,格式化时间,最近7天 月初 月末 季度 月度 时间格式化 等等的更多相关文章

  1. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  2. Java中Date类型如何向前向后滚动时间,( 附工具类)

    Java中的Date类型向前向后滚动时间(附工具类) 废话不多说,先看工具类: import java.text.SimpleDateFormat; import java.util.Calendar ...

  3. 超详细的Java时间工具类

    package com.td.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.Pa ...

  4. Java 8——日期时间工具库(java.time)

    一.前言 在介绍Java SE 8中新的日期时间库前,先了解下Java 8之前的日期时间工具的诟病. 在Java SE 8前,日期时间工具库在java.util包中,包括: java.util.Dat ...

  5. [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. JAVA时间工具类,在维护的项目里的

    package com.inspur.jobSchedule.util; import org.apache.commons.lang3.time.DateUtils; import org.apac ...

  7. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

  8. 一个好的Java时间工具类DateTime

    此类的灵感来源于C# 虽然网上有什么date4j,但是jar太纠结了,先给出源码,可以继承到自己的util包中,作为一个资深程序员,我相信都有不少好的util工具类,我也希望经过此次分享,能带动技术大 ...

  9. java时间工具类

    在项目中,很多地方需要根据时间获取相应的数据,将时间格式化,或者时间比较等相关操作.一个良好的工具类不仅可以减少代码冗余,还能促进业务处理,加快进度. /** * @author: lxw * @Da ...

随机推荐

  1. NOIP模拟测试18「引子·可爱宝贝精灵·相互再归的鹅妈妈」

    待补 引子 题解 大模拟,注意细节 代码1 #include<bits/stdc++.h> using namespace std; int n,m;char a[1005][1005]; ...

  2. js笔记21

    1.解决函数内的this指向 (1)可以在函数外提前声明变量  _this/=this (2)通过apply和call来修改函数内的this指向 二者的区别: 二者的用法不一样,就是参数形式不一样   ...

  3. Kubernetes之Ingress

    在Service篇里面介绍了像集群外部的客户端公开服务的两种方法,还有另一种方法---创建Ingress资源. 定义Ingress (名词)-进入或进入的行为;进入的权利;进入的手段或地点;入口. 接 ...

  4. 8、ITSM基本概念(2)

    6.流程和职能: 7.故障管理: (1)故障管理的输入和输出: (2)故障管理的目标: 优先解决影响度大的事件: (3)故障管理的指标: (4)故障管理的流程: 8.问题管理: (1)问题管理的输入和 ...

  5. k8s部署docker容器

    一.环境 需机器已部署好k8s和docker的环境 二.操作步骤 1.将制作好的镜像推送到docker仓库 docker tag nginx:test harbor:test-nginx docker ...

  6. k8s结合jumpserver做kubectl权限控制 用户在多个namespaces的访问权限 rbac权限控制

    圈子太小,做人留一面,日后好相见. 其实这个文章就是用户用jumpserver登录到k8s master节点 然后执行kubectl的时候只有自己namespaces的所有权限. 背景 1,k8s 有 ...

  7. ThreadLocal底层原理学习

    1. 是什么? 首先ThreadLocal类是一个线程数据绑定类, 有点类似于HashMap<Thread, 你的数据> (但实际上并非如此), 它所有线程共享, 但读取其中数据时又只能是 ...

  8. svn创建新分支报错:svn: E155015: Aborting commit: XXX remains in conflict

    用diea在对svn创建新分支的时候报错,错误为 svn: E155015: Aborting commit: XXX remains in conflict 百度和查阅资料后得知,此错误为分支被拉取 ...

  9. 虚拟机centos7环境搭建,系统分区,静态IP配置

    文章目录 1.虚拟机安装centos7 2.系统分区 3.配置静态IP centos7下载地址 http://mirrors.aliyun.com/centos/7/isos/x86_64/ Cent ...

  10. Python小白的数学建模课-B6. 新冠疫情 SEIR 改进模型

    传染病的数学模型是数学建模中的典型问题,常见的传染病模型有 SI.SIR.SIRS.SEIR 模型. SEIR 模型考虑存在易感者.暴露者.患病者和康复者四类人群,适用于具有潜伏期.治愈后获得终身免疫 ...