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. Binding(二):控件关联和代码提升

    上节我们讲到,使用Binding,我们可以关联后台代码中的属性,在某些情况下,我们可能需要将两个控件关联起来,借助Binding,我们也可以轻松的实现. 关联控件 设想这样一个场景,界面中有个Chec ...

  2. String ,StringBuffer 与S tringBuilder的区别??

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) ------------------------------------- ...

  3. 信息熵,交叉熵与KL散度

    一.信息熵 若一个离散随机变量 \(X\) 的可能取值为 \(X = \{ x_{1}, x_{2},...,x_{n}\}\),且对应的概率为: \[p(x_{i}) = p(X=x_{i}) \] ...

  4. 20204107 孙嘉临 《PYTHON程序设计》实验四报告

    课程:<Python程序设计>班级: 2041姓名: 孙嘉临学号: 20204107实验教师:王志强实验日期:2020年6月29日必修/选修: 公选课 ##作为一个轻度游戏玩家,当然是要写 ...

  5. JUnit5注解学习指引

    注解(Annotations)是JUnit的标志性技术,本文就来对它的20个注解,以及元注解和组合注解进行学习. 20个注解 在org.junit.jupiter.api包中定义了这些注解,它们分别是 ...

  6. excel VBA数组运用

    Sub a()Dim i人数 As Integer'定义变量Dim i考试成绩() As Integer'定义数组Dim i As Integer'定义变量i人数 = InputBox("输 ...

  7. Python中Random随机数返回值方式

    1.a=["1","2","3"] print(random.choice(a)),  随机返回列表a中的一个元素 print(random ...

  8. 1.QT多线程使用小结

    开头 一个进程可以有一个或更多线程同时运行.线程可以看做是"轻量级进程",进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理. Qt 使用QThread来管理线 ...

  9. 12、elk的使用(2)

    12.8.收集日志: 因为logstash安装在从节点上,所以这里收集的主要是从节点上的服务日志: 1.收集系统日志: (1)配置文件: vim /etc/logstash/conf.d/system ...

  10. hdu 1754 I Hate It 线段树 单点更新 区间最值

    线段树功能:update:单点更新 query:区间最值 #include <bits/stdc++.h> #define lson l, m, rt<<1 #define r ...