首页 > 编程语言 >java时间工具类型,格式化时间,最近7天 月初 月末 季度 月度 时间格式化

java时间工具类型,格式化时间,最近7天 月初 月末 季度 月度 时间格式化

时间:2023-07-01 11:34:50浏览次数:41  
标签:00 return String java 时间 Date 格式化 Calendar calendar

常用java 时间格式化:

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;

    }

}
View Code

 

标签:00,return,String,java,时间,Date,格式化,Calendar,calendar
From: https://www.cnblogs.com/zxy-come-on/p/17519025.html

相关文章

  • JS高级用法:像大神一样玩转JavaScript
    前言众所周知,JavaScript是一种非常流行的编程语言,它已经成为了网页开发的必备技能。但是,在我们从事JavaScript编程的时候,我们却没有完全发掘和利用它的全部潜力。在本文中,我们将分享一些高级的JavaScript技巧,希望帮助掘友们更好地理解和掌握JavaScript编程。关于JS高级用法在学习Ja......
  • java入门(第一周)
    Day1一、1、常见的cmd命令指令符         功能       例子(1)盘符+冒号---------盘符切换   例:E:回车,表示切换到E盘(2)dir-------------------查看当前路径下的内容(3)cd目录-------------进入单级目录   (4)cd..----------------......
  • day06 6.1 Java基础
    day066.1Java基础【一】Python和Java中的字节与字符串的关系【1】Java中字节数组与字符串之间的转换关系字节数组的创建方式一importjava.lang.reflect.Array;importjava.util.Arrays;publicclassDemo01{publicstaticvoidmain(String[]args){//......
  • 3、Apache Kudu集成impala(shell和java操作)的详细操作
    ApacheKudu系列文章1、ApacheKudu介绍及架构、工作原理、两种部署方式、使用限制详解2、ApacheKudu-javaapi操作kudu详细示例以及kudu的三种实现示例3、ApacheKudu集成impala(shell和java操作)的详细操作文章目录ApacheKudu系列文章一、kudu集成impala1、impala配置修改二......
  • 使用火焰图分析.NET的 start-up 期间花费的时间
    本文将告诉你从“dotnetrun”到“helloworld”,如何使用PerfView来分析.NET运行时在启动期间所花费的时间。代码示例在这个示例中,我故意只关注.NET运行时在程序启动(start-up)过程中的操作,以确保运行的用户代码最少,因此只有以下的“HelloWorld”:usingSystem;namespace......
  • Java基础复习——常用类String
    Java常用类StringString类简介String对象用于保存字符串,也就是一组字符序列字符串常量对象是用双引号括起来的字符序列,例如:"你好","12.3","boy"等字符串的字符使用Unicode字符编码,一个字符(不区分汉字还是字母)占两个字节String类较常见的构造方法Strings1=......
  • Java基础复习——接口
    接口(interface)什么是接口?接口主要用来描述类具有什么功能,而并不给出每个功能的具体实现。接口不是类,是对类的一组需求描述,这些类就是遵从接口描述的统一格式进行定义。定义接口定义接口的关键字:interface接口与类的关系:实现关系(implements)继承是“isa”的关系,而接......
  • Java基础复习——枚举类
    枚举类假设要创建一个季节(Season)对象classSeason{privateStringname;privateStringdesc;//描述 //构造器//get//...}思考?季节只有四个,是固定的四个对象创建的Season对象有如下特点季节是有限的四个值只读,不需要修改代码实现如下:public......
  • Java基础复习——内部类
    内部类什么是内部类?一个类中又完整的嵌套了另一个类结构。被嵌套的类称为内部类(innerclass),嵌套其他类的类称为外部类(outerclass)。内部类的最大特点:可以直接访问私有属性,并且可以体现类与类之间的包含关系。为什么使用内部类内部类方法可以访问该类定义所在的作用域中的......
  • Java基础复习——注解
    注解(Annotation)什么是注解?插入到源码中用于某种工具处理的标签。注解(Annotation)也被称为元数据(Metadata),用于修饰解释包、类、方法、属性、构造器、局部变量等数据信息。在Java中,注解是当作一个修饰符来使用的,它被置于备注解项之前,中间没有分号每一个注解的名称前面......