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.text.SimpleDateFormat`和`java.util.Calendar`。下面是一个简单的示例代码: ```java import java.text....
获取当天、昨天、上周、当月、上个月 当年等起始和结束时间
在这个特定的应用场景中,我们关注的是如何限制用户选择的开始时间和结束时间,以确保它们之间的最大间隔不超过10天,并且这两个时间都不大于当前服务器时间。 1. **时间范围限制**: - 开始时间:用户选择的开始...
java获取指定的开始时间,当天开始、当天结束、昨天开始、昨天结束、本周开始、本周结束、上周开始、上周结束时间
java中获取当前时间,时间戳,获取指定某一天的开始时间戳,获取指定某一天的结束时间戳,获取当月开始时间戳,获取当年的开始时间戳,获取当前时间戳 毫秒级
本工具包主要是基于JAVA的底层时间类的处理周期时间的工具包,主要用于处理并得到周期性提醒的时间,比如说您想要在每天8:10、每月1号8:20、每周三8:30、每10分钟、每3小时、每季度第一个月1号8:10等等处理一项...
该代码片段展示了一个名为`DateUtil`的Java类,其中包含一个方法`getQuarterInterval`,用于根据输入的月份范围(起始月和结束月)计算出覆盖该时间段的季度区间。此功能对于财务报告、数据分析等领域非常有用,因为...
标题中的“java swing 时间日期选择控件”指的是Swing中用于日期和时间选择的组件。Swing提供了JCalendar和JDatePicker这两个常用的日期选择组件,它们使得用户能够方便地在日历视图中选择日期,或者通过一个文本框...
获取当前月份所属季度之前的四个季度(可以获取多个),比如说是:当前是2017年9月,就属于2017年的第三季度用2017Q3表示。我想要获取2017Q2、2017Q1、2016Q4、...
LocalDateTime常用操作工具类,主要包括的...- 获取月的开始时间 - 获取某月的开始时间 - 获取月的结束时间 - 获取某月的结束时间 - 获取日的开始时间 - 获取某日的开始时间 - 获取日的结束时间 - 获取某日的结束时间
最后,我们调整结束时间,使得开始时间和结束时间在同一天,或者相邻的工作日内,并计算出开始时间和结束时间之间的工作日天数。 Java 计算工作时间除去节假日以及双休日的方法可以通过上述代码实现。这种方法可以...
java操作文件,得到文件名,大小,时间,及修改时间java操作文件,得到文件名,大小,时间,及修改时间java操作文件,得到文件名,大小,时间,及修改时间
日期操作类 Long转日期 字符串毫秒转日期 格式化日期转换方法,年 月 日 时 分 秒 把格式化的日期补全 把格式化的日期转化为毫秒 获取...获得本月的开始时间 当前月的结束时间 当前季度的开始时间 当前季度的结束时间
Java倒计时源代码是一种基于Java编程语言实现的简单应用程序,用于显示从特定时间开始的倒计时。这个程序特别适合那些需要定时提醒或者计时功能的场景,比如考试倒计时、活动倒计时等。它包含了源代码文件以及打包好...
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...
网上很多资源都没有输出结果是(相差几年几个月几天的代码)希望对大家有帮助 有不足地方 望大家多多指点
例如,`LocalDateTime.now()`可以获取当前的日期和时间,`LocalDate.now()`则只获取日期。为了格式化日期,我们可以使用`DateTimeFormatter`,例如: ```java LocalDate date = LocalDate.now(); ...
1. **日期和时间处理库**:Java 8引入了`java.time`包,这是一个强大的日期和时间处理库,提供了`LocalDate`、`LocalDateTime`、`YearMonth`等类,用于方便地操作日期和时间。对于更复杂的需求,可以使用第三方库如`...
- **票证生命周期管理**:TGT和Service Ticket都有有效时间限制,过期后需要重新获取。开发者应考虑如何处理票证的更新和重放攻击。 - **安全策略配置**:合理配置JAAS策略文件,防止恶意用户利用不正确的配置...
### Windows系统下启动与结束Java的JAR包的脚本(包括如何设置进程名称) 在Windows环境下管理和控制Java应用程序的启动与停止是一项常见的任务。本文将详细介绍如何编写一个批处理脚本来实现这些功能,并且还会...