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. 办公利器!用Python批量识别发票并录入到Excel表格

    辰哥今天来分享一篇办公干货文章:用Python批量识别发票并录入到Excel表格.对于财务专业等学生或者公司财务人员来说,将报账发票等汇总到excel简直就是一个折磨. 尤其是到年底的时候,公司的财务 ...

  2. 透彻详解(3)旁路电容100nF_0.1uF的由来计算

    原文地址点击这里: 前一节我们已经详细解释了旁路电容在数字电路系统中所起的基本且重要作用,即储能与为高频噪声电流提供低阻抗路径,尽管还并未给旁路电容的这些功能概括一个"高大上"的名 ...

  3. 痛并快乐的YOLO初体验

    1.前言 最近因为需要研究视频的物体识别和行为识别,上网了解了一下,YOLO是目前实时视频物体识别的应用最广泛的算法. 因此,作为小白的我,也准备体验一下YOLO算法的效果. 先上网了解了一下YOLO ...

  4. MySQL 为什么使用 B+ 树来作索引?

    什么是索引? 所谓的索引,就是帮助 MySQL 高效获取数据的排好序的数据结构.因此,根据索引的定义,构建索引其实就是数据排序的过程. 平时常见的索引数据结构有: 二叉树 红黑树 哈希表 B Tree ...

  5. vue项目使用Echarts制作项目工期甘特图

    目录 1,前言 2,布局和数据部分 3,制作甘特图 1,前言 项目迭代过程中,碰上一个需求,要求用甘特图的方式显示项目的工期进度,开完会我赶紧搜索一下甘特图是啥东东,大概了解之后,做出了如下样式 Ec ...

  6. Drools规则引擎实践直白总结

    目录 1. 创建Drools环境(引入Drools相关依赖包.现在都流行spring boot,故最简单有效的依赖才是最好的,kie-spring内部自行依赖了drools相关核心的依赖包) 2. 了 ...

  7. 解放生产力,自动化生成vue组件文档

    一.现状 Vue框架在前端开发中应用广泛,当一个多人开发的Vue项目经过长期维护之后往往会沉淀出很多的公共组件,这个时候经常会出现一个人 开发了一个组件而其他维护者或新接手的人却不知道这个组件是做什么 ...

  8. .Net Core 3.1简单搭建微服务

    学如逆水行舟,不进则退!最近发现微服务真的是大势所趋,停留在公司所用框架里已经严重满足不了未来的项目需要了,所以抽空了解了一下微服务,并进行了代码落地. 虽然项目简单,但过程中确实也学到了不少东西. ...

  9. ECS实例中的应用偶尔出现丢包现象并且内核日志(dmesg)存在“kernel: nf_conntrack: table full, dropping packet”的报错信息

    问题描述 连接ECS实例中的应用时偶尔出现丢包现象.经排查,ECS实例的外围网络正常,但内核日志(dmesg)中存在"kernel: nf_conntrack: table full, dr ...

  10. 面试官:spring中定义bean的方法有哪些?我一口气说出了12种,把面试官整懵了。

    前言 在庞大的java体系中,spring有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜.我们都知道spring是创建和管理bean的工厂,它提供了多种定义bean的方式,能够满足我们日常工 ...