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. Pandas高级教程之:处理缺失数据

    目录 简介 NaN的例子 整数类型的缺失值 Datetimes 类型的缺失值 None 和 np.nan 的转换 缺失值的计算 使用fillna填充NaN数据 使用dropna删除包含NA的数据 插值 ...

  2. 详解 DNS 解析

    背景 前面讲了域名.IP,那么还缺少一个主角,就是 DNS 这些都是网络中最最最基础的,也是最最最重要的概念,很有必要深入学习下 所有素材均来自:https://www.bilibili.com/vi ...

  3. 把 STM32 bluepill 变成调试器(daplink)

    在调一块 ARM M0 内核的板子,使用官方的 DEMO 板子来调,板子上集成了 daplink 调试器. 为了方便使用,我把目标板跟 daplink 剪开了,然后用杜邦线把 daplink 跟目标板 ...

  4. 20201123 《python程序设计》实验四报告

    20201123 2020-2021-2 <python程序设计>实验三报告 课程:<Python程序设计>班级:2011姓名:晏鹏捷学号:20201123实验教师:王志强实验 ...

  5. spring boot @Async异步注解上下文透传

    上一篇文章说到,之前使用了@Async注解,子线程无法获取到上下文信息,导致流量无法打到灰度,然后改成 线程池的方式,每次调用异步调用的时候都手动透传 上下文(硬编码)解决了问题. 后面查阅了资料,找 ...

  6. 仅使用JsonUtility && File类实现Json数据读写

    using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using S ...

  7. OpenGL ES 压缩纹理

    什么是压缩纹理 在实际应用特别是游戏中纹理占用了相当大的包体积,而且GPU无法直接解码目前流行的图片格式,图片必须转换为RGB等类型的格式才能上传到GPU内存,这显然增加了GPU内存的占用.为了处理这 ...

  8. 『无为则无心』Python序列 — 20、Python元组的介绍与使用

    目录 1.元组的应用场景 2.定义元组 3.元组的常见操作 @1.按下标查找数据 @2.index()方法 @3.count()方法 @4.len()方法 4.元祖中的列表元素 5.扩展:序列封包和序 ...

  9. 8、负载均衡HAproxy部署

    8.1.基本环境说明: 服务器名(centos7) ip地址 安装软件 slave-node1 172.16.1.91 haproxy1.8.15,tomcat8.5.37(8080.8081实例), ...

  10. 解决MyEclipse一直在Updating indexes的文题

    Updating indexes是Maven在下载更新,这个需要手动去设置即可:  Window --> Preferences --> Maven4MyEclipse --> 去除 ...