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. Spring Cloud Data Flow整合Cloudfoundry UAA服务做权限控制

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 关于Spring Cloud Data Flow这里不多介绍,有兴趣可以看下面的文章.本文主要介绍如何整合Dat ...

  2. Pytest学习笔记3-fixture

    前言 个人认为,fixture是pytest最精髓的地方,也是学习pytest必会的知识点. fixture用途 用于执行测试前后的初始化操作,比如打开浏览器.准备测试数据.清除之前的测试数据等等 用 ...

  3. Java并发之ReentrantLock源码解析(一)

    ReentrantLock ReentrantLock是一种可重入的互斥锁,它的行为和作用与关键字synchronized有些类似,在并发场景下可以让多个线程按照一定的顺序访问同一资源.相比synch ...

  4. 精尽Spring Boot源码分析 - SpringApplication 启动类的启动过程

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  5. 中文NER的那些事儿3. SoftLexicon等词汇增强详解&代码实现

    前两章我们分别介绍了NER的基线模型Bert-Bilstm-crf, 以及多任务和对抗学习在解决词边界和跨领域迁移的解决方案.这一章我们就词汇增强这个中文NER的核心问题之一来看看都有哪些解决方案.以 ...

  6. 4.13、nfs挂载优化及优缺点

    1.硬盘:sas/ssd磁盘,买多块,硬件raid5/raid0,网卡吞吐量要大,至少千兆(多网卡bond0) 2.nfs客户端挂载说明: 文件系统有自己的权限,挂载是建立在文件系统之上的,然后更改挂 ...

  7. Gym 101308D Database 枚举

    大致题意: 给出一张表,n行m列,每一行的列用逗号分隔.判断这个表是否有冗余元素.如果一张表中有两行两列对应的的元素相同,那么这个表就有冗余元素. 分析: 先枚举要排序的列,然后枚举行,如果相邻两行相 ...

  8. Docker:docker创建容器时报错:WARNING: IPv4 forwarding is disabled. Networking will not work.

    创建容器时报错: WARNING: IPv4 forwarding is disabled. Networking will not work. # docker run -it -p 30001:2 ...

  9. XCTF-boomshakalaka-3

    这题讲道理出的挺脑洞的,apk直接拖入jeb打开,找到主活动 这里有两个方法,一个是onCreate()方法,还有一个是onCreateView()方法 onCreate()方法调用了a这个对象的d方 ...

  10. java基础---类和对象(2)

    一.继承(extends) 面向对象的三大特性之一,当多个类中存在相同属性和行为时,将这些内容抽取到一个公共类中,让多个类(子类)吸收公共类(父类.超类)中已有特征和行为,而在多个类型只需要编写自己独 ...