public static Date getBeforeMonth(Date date,int months)
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.MONTH,calendar.get(Calendar.MONTH) - months);
return calendar.getTime();
}
1.用java.util.Calender来实现,这种实现方式才是非常准确的
public static String getBeforeDate(Date date,int days)
{
SimpleDateFormat df = new SimpleDateFormat(FORMAT_DAY);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_YEAR,calendar.get(Calendar.DAY_OF_YEAR) - days);
return df.format(calendar.getTime());
}
public static String getAfterDate(Date date,int days)
{
SimpleDateFormat df = new SimpleDateFormat(FORMAT_DAY);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_YEAR,calendar.get(Calendar.DAY_OF_YEAR) + days);
return df.format(calendar.getTime());
}
2.用java.text.SimpleDateFormat和java.util.Date来实现
public static String getBeforeDate(Date date,int days)
{
SimpleDateFormat df = new SimpleDateFormat(FORMAT_DAY);
Date beforeDate = new Date(date.getTime() - days * 24 * 60 * 60 * 1000);
return df.format(beforeDate);
}
public static String getAfterDate(Date date,int days)
{
SimpleDateFormat df = new SimpleDateFormat(FORMAT_DAY);
Date beforeDate = new Date(date.getTime() + days * 24 * 60 * 60 * 1000);
return df.format(beforeDate);
}
3.获取月的第一天
public static Date getMonthFirstDate(Date date)
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.set(Calendar.HOUR,0);
calendar.set(Calendar.MINUTE,0);
calendar.set(Calendar.SECOND,0);
return calendar.getTime();
}
4.获取月的最后一天
public static Date getMonthLastDate(Date date)
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//先设置为下个月第一天
calendar.add(Calendar.MONTH, 1);//加一个月
calendar.set(Calendar.DATE, 1); //设置为该月第一天
calendar.add(Calendar.DATE, -1);//再减一天即为上个月最后一天
//设置时分秒
calendar.set(Calendar.HOUR,23);
calendar.set(Calendar.MINUTE,59);
calendar.set(Calendar.SECOND,59);
return calendar.getTime();
}
5. 月份加减
public static Date getBeforeMonth(Date date,int months)
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.MONTH,calendar.get(Calendar.MONTH) - months);
return calendar.getTime();
}
分享到:
相关推荐
本文将深入探讨Java中的日期类操作,包括日期的加减运算,以及如何利用不同的日期类进行高效的时间管理。 ### 一、日期类的基本操作 #### 1. 使用Calendar类 `Calendar`类是Java中处理日期和时间的核心类之一,它...
在提供的文件列表中,DateAccount.java可能是包含日期操作逻辑的Java源代码文件,而加减日期.txt和转日期格式.txt很可能是详细说明这些操作的文本文件。通过阅读这些文件,你可以更深入地理解如何在实际代码中实现...
//字符串转日期 String format = simpleDateFormat.format(parse); //日期转字符串 System.out.println(parse +"fsgfsf"+format ); cal.setTime(parse); int year1= cal.get(Calendar.YEAR);//获取年份 ...
在实际开发中,日期加减常用于计算有效期、计划任务、日历应用等场景。例如,计算信用卡到期日、确定项目交付期限、规划节假日等。 10. **最佳实践**: 使用日期类时,应遵循良好的编程习惯,如避免使用字符串...
在Java 8之前,日期的加减运算相对复杂,通常需要结合`Calendar`类。自Java 8起,`TemporalAdjusters`和`Period`类提供了更直观的方法。 1. 使用`Calendar`类进行加减: ```java Calendar calendar = Calendar....
`java.util.Calendar`类提供了日期操作的高级功能,如`add()`方法可以对日期进行加减运算。例如,`now.add(Calendar.DAY_OF_YEAR, -(365*2))`表示减去两年。 8. **日期比较**: `equals()`, `before()`, `after()...
在日期运算中,`java.time`包提供了`plusDays()`, `minusMonths()`, `until()`等方法,使得日期的加减运算变得直观且方便。另外,`TemporalAdjusters`接口提供了一些实用的调整器,比如`firstDayOfMonth()`和`...
- 尽量避免在SQL中使用复杂的日期运算,而是将计算逻辑放在Java代码中,提高代码可读性和可维护性。 - 使用Joda-Time或Java 8的`java.time`包来处理日期,以获得更好的API和更精确的日期处理能力。 - 遵循数据库...
对于初学者而言,如何在现有的日期基础上进行加减运算可能会遇到一定的困难。本文将详细介绍如何利用`java.util.Calendar`类来实现日期的加减操作,并通过一个具体示例来展示其实现过程。 #### 二、Calendar类概述 ...
可以使用 `java.util.Calendar` 类的 `add()` 方法来进行日期的加减运算。 ```java <%@ page import="java.util.*"%> <%@ page import="java.text.*"%> (); SimpleDateFormat formatter = new SimpleDateFormat("E ...
总之,"Java版日期计算器"是一个实现日期运算的工具,利用Java提供的日期API,可以方便地进行日期加减、计算日期差等操作。随着Java版本的更新,开发者应该优先考虑使用`java.time`包,因为它提供了更加简洁和强大的...
此外,`add()`方法可以进行日期加减操作,`getTime()`返回`Date`对象。 3. **`java.text.SimpleDateFormat`**: 这是日期/时间格式化类,用于将日期对象转换为字符串,或将字符串解析为日期对象。例如,`new ...
9. **日期时间的加减运算**:使用`Calendar`的`add()`或`LocalDateTime`的`plus()`、`minus()`方法进行加减运算。 10. **时间戳转换**:`Date`的`getTime()`方法返回毫秒级时间戳,而`Date`构造函数或`Instant....
例如,你可以使用`LocalDateTime.now()`获取当前日期和时间,或者通过`plusDays()`、`minusHours()`等方法进行日期时间的加减运算。`DateTimeFormatter`类用于格式化和解析`java.time`对象,比`SimpleDateFormat`更...
下面我们将深入探讨相关的Java日期处理知识。 Java中的日期和时间API主要有两个版本:一个是早期的`java.util.Date`和`java.util.Calendar`类,另一个是Java 8引入的`java.time`包,包含`LocalDate`, `LocalTime`, ...
2. 对日期进行加减运算以获取新的日期。 3. 根据年份和周数获取该周的第一天和最后一天的具体日期。 ### 1. 计算两个日期之间的小时数与天数 计算两个日期之间的时间差是日期计算中的常见需求之一。这部分功能主要...
Java 8的日期时间API提供了丰富的日期运算方法,如加减天数、月份等。 7. **日期比较:** 可以通过compareTo方法比较两个日期对象的大小。 在"9_4_日期处理组件"的源代码中,可能会包含以上所述的转换功能,以及...
2. 算法解释:详细说明日期加减、格式化、日历转换等关键算法的工作原理。 3. 设计模式:讨论如何设计万年历系统结构,使其易于扩展和维护。 4. 故障排查:列出常见错误和解决策略。 5. 性能测试:分享性能测试结果...
MongoDB 是一个流行的开源文档型数据库,它支持丰富的查询语法和数据操作,包括对数值进行加减乘除的运算。本文将深入讲解 MongoDB 中的加减乘除运算,以帮助开发者更好地理解和运用这些数学表达式。 首先,我们来...