`
翮翮专属
  • 浏览: 8314 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java 每日、月、季度的开始时间和结束时间

    博客分类:
  • java
阅读更多
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class Test {

public static void main(String[] args) throws Exception {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar now = Calendar.getInstance();
        Calendar startDate = new GregorianCalendar();//开始时间
        Calendar endDate = new GregorianCalendar();//结束时间
        int minDay = now.getActualMinimum(Calendar.DAY_OF_MONTH);
        int maxDay = now.getActualMaximum(Calendar.DAY_OF_MONTH);
        //时段,一小时为一个时段
        startDate.set(Calendar.MINUTE, 0);
        startDate.set(Calendar.SECOND, 0);
        System.out.println("当前时段开始时间:"+sdf.format(startDate.getTime()));
        endDate.set(Calendar.MINUTE, 59);
        endDate.set(Calendar.SECOND, 59);
        System.out.println("当前时段结束时间:"+sdf.format(endDate.getTime()));
       
        // 当天开始时间
        startDate.set(Calendar.HOUR_OF_DAY, 0);
        startDate.set(Calendar.MINUTE, 0);
        startDate.set(Calendar.SECOND, 0);
        System.out.println("当天开始时间:"+sdf.format(startDate.getTime()));
       
        //当天结束时间
        endDate.set(Calendar.HOUR_OF_DAY, 23);
        endDate.set(Calendar.MINUTE, 59);
        endDate.set(Calendar.SECOND, 59);
        System.out.println("当天结束时间:"+sdf.format(endDate.getTime()));
       
        // 当周开始时间
        startDate.setFirstDayOfWeek(Calendar.MONDAY);
        startDate.set(Calendar.HOUR_OF_DAY, 0);
        startDate.set(Calendar.MINUTE, 0);
        startDate.set(Calendar.SECOND, 0);
        startDate.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        System.out.println("当周开始时间:"+sdf.format(startDate.getTime()));
       
        //当周结束时间
        endDate.setFirstDayOfWeek(Calendar.MONDAY);
        endDate.set(Calendar.HOUR_OF_DAY, 23);
        endDate.set(Calendar.MINUTE, 59);
        endDate.set(Calendar.SECOND, 59);
        endDate.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
        System.out.println("当周结束时间:"+sdf.format(endDate.getTime()));
       
        System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
        now.set(now.get(Calendar.YEAR), now.get(Calendar.MONTH), minDay, 00, 00, 00);
        System.out.println("当月的第一天:" + sdf.format(now.getTime()));
        System.out.println("maxDay:"+maxDay+"Calendar.DAY_OF_MONTH:"+Calendar.DAY_OF_MONTH);
        //按你的要求设置时间
        now.set(now.get(Calendar.YEAR), now.get(Calendar.MONTH), maxDay, 23, 59, 59);
        System.out.println("当月的最后一天:" + sdf.format(now.getTime()));
        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
       
        System.out.println("-----------------------");
        System.out.println(sdf.format(now.getTime()));
        int month = now.get(Calendar.MONTH) + 1;
        if(month == 1 || month ==2 || month ==3){
            now.set(now.get(Calendar.YEAR), 0, minDay, 00, 00, 00);
            System.out.println("一季度的第一天:" + sdf.format(now.getTime()));
            now.set(now.get(Calendar.YEAR), 2, maxDay, 23, 59, 59);
            System.out.println("一季度的最后一天:" + sdf.format(now.getTime()));
        }
        else if(month == 4 || month ==5 || month ==6){
        now.set(now.get(Calendar.YEAR), 3, minDay, 00, 00, 00);
            System.out.println("二季度的第一天:" + sdf.format(now.getTime()));
            now.set(now.get(Calendar.YEAR), 5, maxDay, 23, 59, 59);
            System.out.println("二季度的最后一天:" + sdf.format(now.getTime()));
        }
        else if(month == 7 || month ==8 || month ==9){
        now.set(now.get(Calendar.YEAR), 6, minDay, 00, 00, 00);
            System.out.println("三季度的第一天:" + sdf.format(now.getTime()));
            now.set(now.get(Calendar.YEAR), 8, maxDay, 23, 59, 59);
            System.out.println("三季度的最后一天:" + sdf.format(now.getTime()));
        }
        else if(month == 10 || month ==11 || month ==12){
        now.set(now.get(Calendar.YEAR), 9, minDay, 00, 00, 00);
            System.out.println("四季度的第一天:" + sdf.format(now.getTime()));
            now.set(now.get(Calendar.YEAR), 11, maxDay, 23, 59, 59);
            System.out.println("四季度的最后一天:" + sdf.format(now.getTime()));
        }
       
    }
分享到:
评论

相关推荐

    java获取指定开始时间与结束时间之间的所有日期

    要实现Java获取指定开始时间与结束时间之间的所有日期,我们需要使用Java的日期和时间相关类,包括`java.text.SimpleDateFormat`和`java.util.Calendar`。下面是一个简单的示例代码: ```java import java.text....

    获取当天昨天上周当月当年的起始和结束时间

    获取当天、昨天、上周、当月、上个月 当年等起始和结束时间

    My97DatePicker:开始时间和结束时间的最大间隔为10天,并且不大于当前时间

    在这个特定的应用场景中,我们关注的是如何限制用户选择的开始时间和结束时间,以确保它们之间的最大间隔不超过10天,并且这两个时间都不大于当前服务器时间。 1. **时间范围限制**: - 开始时间:用户选择的开始...

    java获取指定的开始时间,当天开始、当天结束、昨天开始、昨天结束、本周开始、本周结束、上周开始、上周结束时间

    java获取指定的开始时间,当天开始、当天结束、昨天开始、昨天结束、本周开始、本周结束、上周开始、上周结束时间

    java获取当前时间,一天开始结束时间,时间戳等

    java中获取当前时间,时间戳,获取指定某一天的开始时间戳,获取指定某一天的结束时间戳,获取当月开始时间戳,获取当年的开始时间戳,获取当前时间戳 毫秒级

    基于JAVA的周期时间处理工具包

    本工具包主要是基于JAVA的底层时间类的处理周期时间的工具包,主要用于处理并得到周期性提醒的时间,比如说您想要在每天8:10、每月1号8:20、每周三8:30、每10分钟、每3小时、每季度第一个月1号8:10等等处理一项...

    根据输入月份获取季度区间

    该代码片段展示了一个名为`DateUtil`的Java类,其中包含一个方法`getQuarterInterval`,用于根据输入的月份范围(起始月和结束月)计算出覆盖该时间段的季度区间。此功能对于财务报告、数据分析等领域非常有用,因为...

    java swing 时间日期选择控件

    标题中的“java swing 时间日期选择控件”指的是Swing中用于日期和时间选择的组件。Swing提供了JCalendar和JDatePicker这两个常用的日期选择组件,它们使得用户能够方便地在日历视图中选择日期,或者通过一个文本框...

    获取当前月份所属季度之前的四个季度(可以获取多个)

    获取当前月份所属季度之前的四个季度(可以获取多个),比如说是:当前是2017年9月,就属于2017年的第三季度用2017Q3表示。我想要获取2017Q2、2017Q1、2016Q4、...

    Java8的LocalDateTime工具类,包含一些比较常用的功能。

    LocalDateTime常用操作工具类,主要包括的...- 获取月的开始时间 - 获取某月的开始时间 - 获取月的结束时间 - 获取某月的结束时间 - 获取日的开始时间 - 获取某日的开始时间 - 获取日的结束时间 - 获取某日的结束时间

    java计算工作时间除去节假日以及双休日

    最后,我们调整结束时间,使得开始时间和结束时间在同一天,或者相邻的工作日内,并计算出开始时间和结束时间之间的工作日天数。 Java 计算工作时间除去节假日以及双休日的方法可以通过上述代码实现。这种方法可以...

    java操作文件,得到文件名,大小,时间,及修改时间

    java操作文件,得到文件名,大小,时间,及修改时间java操作文件,得到文件名,大小,时间,及修改时间java操作文件,得到文件名,大小,时间,及修改时间

    java日期操作类

    日期操作类 Long转日期 字符串毫秒转日期 格式化日期转换方法,年 月 日 时 分 秒 把格式化的日期补全 把格式化的日期转化为毫秒 获取...获得本月的开始时间 当前月的结束时间 当前季度的开始时间 当前季度的结束时间

    java倒计时源代码

    Java倒计时源代码是一种基于Java编程语言实现的简单应用程序,用于显示从特定时间开始的倒计时。这个程序特别适合那些需要定时提醒或者计时功能的场景,比如考试倒计时、活动倒计时等。它包含了源代码文件以及打包好...

    JAVA_API1.6文档(中文)

    java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...

    java实现两个时间相差的年月日 (相差几年几天几日的结果)

    网上很多资源都没有输出结果是(相差几年几个月几天的代码)希望对大家有帮助 有不足地方 望大家多多指点

    JAVA生成订单号(日期+流水号)

    例如,`LocalDateTime.now()`可以获取当前的日期和时间,`LocalDate.now()`则只获取日期。为了格式化日期,我们可以使用`DateTimeFormatter`,例如: ```java LocalDate date = LocalDate.now(); ...

    java工作日计算(去除法定假日)

    1. **日期和时间处理库**:Java 8引入了`java.time`包,这是一个强大的日期和时间处理库,提供了`LocalDate`、`LocalDateTime`、`YearMonth`等类,用于方便地操作日期和时间。对于更复杂的需求,可以使用第三方库如`...

    kerberos的java实现

    - **票证生命周期管理**:TGT和Service Ticket都有有效时间限制,过期后需要重新获取。开发者应考虑如何处理票证的更新和重放攻击。 - **安全策略配置**:合理配置JAAS策略文件,防止恶意用户利用不正确的配置...

    windows 系统下启动与结束java的jar包的脚本(包括如何设置进程名称)

    ### Windows系统下启动与结束Java的JAR包的脚本(包括如何设置进程名称) 在Windows环境下管理和控制Java应用程序的启动与停止是一项常见的任务。本文将详细介绍如何编写一个批处理脚本来实现这些功能,并且还会...

Global site tag (gtag.js) - Google Analytics