import java.text.SimpleDateFormat;
import java.util.Date;
public class OfterDate {
/**
* 计算X天后的日期(天数不要大于28)
*
* @param x
* @return
*/
public static String ofterDayDate(int x) {
Date date = new Date();
int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(date));
int month = Integer.parseInt(new SimpleDateFormat("MM").format(date));
int day = Integer.parseInt(new SimpleDateFormat("dd").format(date)) + x;
if (day > 30 && (month == 4 || month == 6 || month == 9 || month == 11)) {
day = day - 30;
if (month == 12) {
month = 1;
year = year + 1;
} else {
month = month + 1;
}
} else if (day > 31
&& (month == 1 || month == 3 || month == 5 || month == 7
|| month == 8 || month == 10 || month == 12)) {
day = day - 31;
if (month == 12) {
month = 1;
year = year + 1;
} else {
month = month + 1;
}
} else if (month == 2) {
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
if (day > 29) {
day = day - 29;
month = 3;
}
} else {
if (day > 28) {
day = day - 28;
month = 3;
}
}
}
String y = year + "-";
String m = "";
String d = "";
if (month < 10)
m = "0" + month + "-";
else
m = month + "-";
if (day < 10)
d = "0" + day;
else
d = day + "";
return y + m + d;
}
/**
* 计算x月后的日期
*
* @param x
* @return
*/
public static String ofterMonthDate(int x) {
Date date = new Date();
int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(date));
int month = Integer.parseInt(new SimpleDateFormat("MM").format(date))
+ x;
int day = Integer.parseInt(new SimpleDateFormat("dd").format(date));
if (month > 12) {
year += month/12;
month = month%12;
}
if (day > 28) {
if (month == 2) {
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
day = 29;
} else
day = 28;
} else if ((month == 4 || month == 6 || month == 9 || month == 11)
&& day == 31) {
day = 30;
}
}
String y = year + "-";
String m = "";
String d = "";
if (month < 10)
m = "0" + month + "-";
else
m = month + "-";
if (day < 10)
d = "0" + day;
else
d = day + "";
return y + m + d;
}
}
有错误欢迎留言纠正!!
分享到:
相关推荐
Java编程语言在处理日期和时间方面提供了强大的支持,这使得我们能够轻松地计算中国的24节气。24节气是中国传统历法的重要组成部分,它根据太阳在黄道上的位置来划分一年的时间,反映了四季的变化和农事活动的周期。...
标题“java 公式计算汇总,直接调用其方法即可进行运算”所描述的,就是这样一个方便的工具集合,它包含了加减乘除基本运算以及正弦、余弦等科学计算功能。 1. **基础数学运算**: - 加法:在Java中,可以使用`+`...
升级版DateUtil.java 得到几天后的date,根据农历生日计算出年龄,判断当前时间是否在[startTime, endTime]区间,注意时间格式要一致
在Java中,要计算一个月内有多少个工作日(通常指周一至周五),以及具体哪些日子是工作日,可以通过多种方法实现。这里将介绍一种较为通用的方法:利用`java.util.Calendar`类来计算指定月份内的工作日。 #### 一...
java指定日期计算一年内第几天和给出一年内第几天算出指定日期 【指定日期换算成第几天】 2019年10月31日是一年内的第:304天 【一年的第几天换算对应日期】 2019年的第304天 对应的日期是2019-10-31
1.对于任意三个整数,判断其否为一个合法的日期值. 2.给定一个日期值,计算若干天后的日期值. 3.如果有两个日期值,计算它们相距的天数.
Java作为一种通用的编程语言,提供了丰富的库和工具来实现曲线拟合。在这个项目中,作者使用Java实现了曲线和直线的拟合功能。 在Java中,曲线拟合通常涉及到数值分析和线性代数的知识。首先,我们需要理解数据点的...
java代码先获取全年的周末周日,定义全年的法定节假日,然后根据输入的日期计算,当前日期后的工作日,也可以用于计算工作日
"Java阳历转农历" Java阳历转农历是将公历日期转换为农历日期的过程。农历是一种传统的中国历法系统,基于月亮的圆...Java阳历转农历类是一种高效、可靠、灵活的农历日期计算工具,广泛应用于各种需要农历日期的场景。
Java 中日期类操作算法大全是 Java 日期算法的详细指南,涵盖了日期类的基本操作、日期类的加减、日期类的格式化输出、日期类的计算等多个方面的知识点。 日期类的基本操作 在 Java 中,日期类的基本操作包括设置...
此外,我们还可以看到这个算法的实现过程中使用了多种 Java 技术,例如使用 Calendar 和 Date 类来处理日期和时间,使用 List 和 Vacation 类来存储和处理假期数据,使用循环和条件语句来实现算法的逻辑。...
6. **日期时间API**:Java 8中引入了全新的java.time包,提供了更强大的日期和时间处理能力,替代了原有的java.util.Date和java.util.Calendar API,使得日期时间操作更加直观和高效。 7. **JRE**:Java运行时环境...
java写的日期计算方法:输入一个日期 输出输入日期与当前日期的差值。本方法较完善,有大量的注释,先将其共享希望对各位有所用处。不足之处还望指点。
通过apache自带的日期类获取未来日期,自动识别大小月及是否闰年
在Java编程中,计算工作日是一项常见的需求,特别是在金融、物流和项目管理等领域。这个话题主要涉及如何在Java中处理日期和时间,并考虑到法定节假日的影响。以下是对这一主题的详细阐述: 1. **日期和时间处理库*...
"java计算两个日期之前的天数实例(排除节假日和周末)" 知识点1:Java日期计算 在Java中,日期计算是一种常见的操作。Java提供了多种日期类,例如Date、Calendar、LocalDate等,每种类都有其特点和应用场景。例如,...
在Java编程中,自定义日期时间选择控件是常见的需求,尤其在开发用户界面时,以便用户能够方便地输入或选择日期和时间。本话题主要围绕如何创建一个自定义的日期时间选择控件进行展开,它支持多种日期时间格式,如...
Java中使用LocalDate根据日期来计算年龄的实现方法 在 Java 中,计算年龄是一个常见的需求,传统上我们使用 `Date` 和 `Calendar` 类来实现,但是这些类的使用难度较高,且容易混淆。幸运的是,Java 8 中引入了 `...
内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关的方法,如:获取指定日期几天后的日期;...
这个“java-11 windows-x64 安装包”是为了Windows 64位操作系统设计的,旨在为用户提供快速、简便的Java环境安装体验,尤其解决了在没有高速网络条件下的下载困扰。 首先,我们来详细了解一下Java 11的主要特性: ...