一個月
Date date1 = new Date();
int year=date1.getYear();
int month=date1.getMonth();
int day=date1.getDate();
if (month == 0) {
date1.setYear(year- 1);
date1.setMonth(11);
} else {
if(month==2 && day>28){
date1.setMonth(month-1);
date1.setDate(28);
}else if(month == 4 || month == 6 || month==7 || month == 9 || month == 11){
date1.setMonth(month - 1);
if(day>30){
date1.setDate(30);
}
}else{
date1.setMonth(month - 1);
}
}
三個月
int year=date1.getYear();
int month=date1.getMonth();
int day=date1.getDate();
if(month>=3){
if(month==4 && day>28){
date1.setDate(28);
date1.setMonth(month-3);
}else if( (month == 6 || month == 11) && day>30){
date1.setDate(30);
date1.setMonth(month-3);
}else{
date1.setMonth(month-3);
}
}else{
if(month==1){
if(day>30){
date1.setDate(30);
}
}
date1.setMonth(9+month);
date1.setYear(year-1);
}
半年
int year=date1.getYear();
int month=date1.getMonth();
int day=date1.getDate();
if(month>=6){
if(month==7 && day>28){
date1.setDate(28);
date1.setMonth(month-6);
}else if( (month == 9 || month == 11) && day>30){
date1.setDate(30);
date1.setMonth(month-6);
}else{
date1.setMonth(month-6);
}
}else{
if(month==2 || month==4){
if(day>30){
date1.setDate(30);
}
}
date1.setMonth(6+month);
date1.setYear(year-1);
}
七天
int year=date1.getYear();
int month=date1.getMonth();
int day=date1.getDate();
if (day > 7) {
date1.setDate(day-7);
} else {
if (month == 0) {
date1.setYear(year-1);
date1.setMonth(11);
date1.setDate(24+day);
} else if (month==1 || month == 3 || month == 5 || month==7 || month == 8 || month == 10) {
date1.setMonth(month-1);
date1.setDate(24+day);
} else if (month == 2) {
if (year % 4 == 0) {
date1.setMonth(month-1);
date1.setDate(22+day);
} else {
date1.setMonth(month-1);
date1.setDate(21+day);
}
} else {
date1.setMonth(month-1);
date1.setDate(23+day);
}
}
三天
if (day > 3) {
date1.setDate(day-3);
} else {
if (month == 0) {
date1.setYear(year-1);
date1.setMonth(11);
date1.setDate(28+day);
} else if (month==1 || month == 3 || month == 5 || month==7 || month == 8 || month == 10) {
date1.setMonth(month-1);
date1.setDate(28+day);
} else if (month == 2) {
if (year % 4 == 0) {
date1.setMonth(month-1);
date1.setDate(26+day);
} else {
date1.setMonth(month-1);
date1.setDate(25+day);
}
} else {
date1.setMonth(month-1);
date1.setDate(27+day);
}
}
一年
if(date.getMonth()==1 && date.getDate()==29){
date.setDate(28);
date.setYear(date.getYear()-1);
}else{
date.setYear(date.getYear() - 1);
}
分享到:
相关推荐
根据给定文件的信息,本文将深入探讨Java中与日期转换及计算相关的几个核心知识点:如何计算当前日期是年度中的第几周、确定某天是一周中的哪一天、日期的格式化处理、获取指定年份月份的具体日期以及如何获得当前...
本文将深入探讨如何根据一个给定的日期获取最近几天的日期,主要涉及Java中的`Calendar`类,这是一个强大的日期和时间管理工具。 `Calendar`类是Java中的一个抽象类,它提供了对日期和时间的完整操作。要根据给定的...
### JAVA日期操作汇总 本文将对Java中的日期操作进行详细解析,主要涵盖以下几个方面: 1. 计算某个月份的最大天数; 2. `Calendar`与`Date`之间的转换; 3. 日期格式化; 4. 获取指定日期所在的周序号及设置某...
- **D**:一年中的第几天 - **F**:一月中的第几个星期(例如 1 表示第一个星期) - **w**:一年中的第几个星期 - **W**:一月中的第几个星期 - **a**:上午/下午标志(AM/PM) - **k**:小时(24 小时制,范围 1-24...
1. **确定一年中某一天属于第几周**: ```java Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1); cal.set(Calendar.DAY_OF_MONTH, day); int ...
实际上,在上面的例子中,我们将当前日期设置为1年1月1日,然后再减去一天来获得上一年的最后一天,这样的处理方式可能不会返回当前年份的最后一天。一个更准确的方法是根据当前年份计算出实际的最后一天,例如: `...
Java 日期算法大全 Java 中日期类操作算法大全是 Java ...Java 日期算法大全涵盖了日期类的基本操作、日期类的加减、日期类的格式化输出、日期类的计算等多个方面的知识点,为开发者提供了详细的Java日期算法指南。
1. **计算某一天是一年中的第几星期** ```java Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2006); cal.set(Calendar.MONTH, 8); cal.set(Calendar.DAY_OF_MONTH, 3); int weekNo = cal....
然而,需要注意的是,`ChronoUnit.MONTHS.between()`方法可能无法处理跨闰年的复杂情况,例如从2020年2月29日到2021年3月1日,结果会是11个月,而不是12个月。这是因为这个方法假设每个月都有30天。如果需要考虑具体...
这篇实例主要讲解了如何使用Java获取当前日期的几天前、几个月前和几年前的具体方法。我们可以通过Java的`java.util.Date`类以及自定义辅助类来实现这个功能。下面将详细介绍这个实例中的关键知识点。 1. **`java....
- 可以用来获取特定日期的日、月、年等信息,并可以用来设置或修改日期。 2. **Date 类**: - `java.util.Date` 类代表任意时间点的对象。 - 可以通过构造函数创建特定的时间点对象。 3. **工作日定义**: - ...
以下是使用`java.time.LocalDate`来获取给定日期在当年的第几天的步骤: 1. 创建一个`LocalDate`对象,可以使用`LocalDate.parse()`方法,传入一个符合指定格式的字符串(如"年 月 日")。需要配合`java.time....
1. **`java.util.Date`**:这是Java早期提供的日期类,虽然现在已被弃用,但仍然广泛存在。`Date`对象代表了一个具体的日期和时间点,可以用毫秒值表示。你可以通过`new Date()`创建一个当前日期的对象,或者通过...
1. **Java日期时间API**:Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`类来处理日期和时间。然而,这些API的设计并不理想,存在线程不安全和易用性差的问题。 2. **Java 8及以后的日期...
7. **比较和查询**:可以轻松比较两个日期时间对象,或者查询某个日期时间是否在另一日期时间之前或之后,还可以获取某个日期的星期几、一年中的第几天等信息。 8. **ISO-8601兼容**:Joda-Time完全兼容ISO-8601日...
| D | 一年中的第几天 | | F | 一月中第几个星期 | | w | 一年中第几个星期 | | a | 上午/下午标志符 | | k | 时在一天中 (1~24) | | K | 时在上午或下午 (0~11) | | z | 时区 | 模式扩展用法 除了基本的时间模式...
相对时间计算是指获取当前时间与过去或未来某个时间点之间的差异,通常以“几天前”、“几年前”这样的形式展示。Java提供了一些内置类来帮助我们进行这类计算,如`java.util.Date`、`java.util.Calendar`以及`java....
1. **日期时间库**: Java 8引入了`java.time`包,它包含`LocalDate`, `LocalTime`, `LocalDateTime`, `YearMonth`, `Year`, `DayOfWeek`等类,可以方便地进行日期和时间的处理。例如,你可以使用`LocalDate.now()`...
本文将详细介绍如何使用JavaScript(JS)和Java这两种语言来实现获取当前时间三个月之前的具体日期,并支持不同的格式输出。 #### Java 实现 在Java中,我们可以利用`java.util.Calendar`类和`java.text....