`
lelong
  • 浏览: 554800 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JAVA日期加减运算

阅读更多
	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中所以日期类的操作算法大全

    本文将深入探讨Java中的日期类操作,包括日期的加减运算,以及如何利用不同的日期类进行高效的时间管理。 ### 一、日期类的基本操作 #### 1. 使用Calendar类 `Calendar`类是Java中处理日期和时间的核心类之一,它...

    日期操作,转日期格式,加减日期,日期详解

    在提供的文件列表中,DateAccount.java可能是包含日期操作逻辑的Java源代码文件,而加减日期.txt和转日期格式.txt很可能是详细说明这些操作的文本文件。通过阅读这些文件,你可以更深入地理解如何在实际代码中实现...

    java获取年月日,加减运算

    //字符串转日期 String format = simpleDateFormat.format(parse); //日期转字符串 System.out.println(parse +"fsgfsf"+format ); cal.setTime(parse); int year1= cal.get(Calendar.YEAR);//获取年份 ...

    日期类加减的年月日版本

    在实际开发中,日期加减常用于计算有效期、计划任务、日历应用等场景。例如,计算信用卡到期日、确定项目交付期限、规划节假日等。 10. **最佳实践**: 使用日期类时,应遵循良好的编程习惯,如避免使用字符串...

    java日期转化操作大全

    在Java 8之前,日期的加减运算相对复杂,通常需要结合`Calendar`类。自Java 8起,`TemporalAdjusters`和`Period`类提供了更直观的方法。 1. 使用`Calendar`类进行加减: ```java Calendar calendar = Calendar....

    java语言日期处理大全

    `java.util.Calendar`类提供了日期操作的高级功能,如`add()`方法可以对日期进行加减运算。例如,`now.add(Calendar.DAY_OF_YEAR, -(365*2))`表示减去两年。 8. **日期比较**: `equals()`, `before()`, `after()...

    JAVA日期操作类详细讲解

    在日期运算中,`java.time`包提供了`plusDays()`, `minusMonths()`, `until()`等方法,使得日期的加减运算变得直观且方便。另外,`TemporalAdjusters`接口提供了一些实用的调整器,比如`firstDayOfMonth()`和`...

    mybatis中操作日期实例分析

    - 尽量避免在SQL中使用复杂的日期运算,而是将计算逻辑放在Java代码中,提高代码可读性和可维护性。 - 使用Joda-Time或Java 8的`java.time`包来处理日期,以获得更好的API和更精确的日期处理能力。 - 遵循数据库...

    java日期计算

    对于初学者而言,如何在现有的日期基础上进行加减运算可能会遇到一定的困难。本文将详细介绍如何利用`java.util.Calendar`类来实现日期的加减操作,并通过一个具体示例来展示其实现过程。 #### 二、Calendar类概述 ...

    Java_Date_日期时间整理

    可以使用 `java.util.Calendar` 类的 `add()` 方法来进行日期的加减运算。 ```java <%@ page import="java.util.*"%> <%@ page import="java.text.*"%> (); SimpleDateFormat formatter = new SimpleDateFormat("E ...

    java版日期计算器

    总之,"Java版日期计算器"是一个实现日期运算的工具,利用Java提供的日期API,可以方便地进行日期加减、计算日期差等操作。随着Java版本的更新,开发者应该优先考虑使用`java.time`包,因为它提供了更加简洁和强大的...

    java所有可能的日期操作封装

    此外,`add()`方法可以进行日期加减操作,`getTime()`返回`Date`对象。 3. **`java.text.SimpleDateFormat`**: 这是日期/时间格式化类,用于将日期对象转换为字符串,或将字符串解析为日期对象。例如,`new ...

    Java日期时间常见面试题及答案

    9. **日期时间的加减运算**:使用`Calendar`的`add()`或`LocalDateTime`的`plus()`、`minus()`方法进行加减运算。 10. **时间戳转换**:`Date`的`getTime()`方法返回毫秒级时间戳,而`Date`构造函数或`Instant....

    最全的java时间(日期)工具类

    例如,你可以使用`LocalDateTime.now()`获取当前日期和时间,或者通过`plusDays()`、`minusHours()`等方法进行日期时间的加减运算。`DateTimeFormatter`类用于格式化和解析`java.time`对象,比`SimpleDateFormat`更...

    java 日期计算

    下面我们将深入探讨相关的Java日期处理知识。 Java中的日期和时间API主要有两个版本:一个是早期的`java.util.Date`和`java.util.Calendar`类,另一个是Java 8引入的`java.time`包,包含`LocalDate`, `LocalTime`, ...

    关于日期计算的java代码

    2. 对日期进行加减运算以获取新的日期。 3. 根据年份和周数获取该周的第一天和最后一天的具体日期。 ### 1. 计算两个日期之间的小时数与天数 计算两个日期之间的时间差是日期计算中的常见需求之一。这部分功能主要...

    应用java实现日期型字符串和日期之间的相互转换(源代码)

    Java 8的日期时间API提供了丰富的日期运算方法,如加减天数、月份等。 7. **日期比较:** 可以通过compareTo方法比较两个日期对象的大小。 在"9_4_日期处理组件"的源代码中,可能会包含以上所述的转换功能,以及...

    C#JAVA日期算法

    2. 算法解释:详细说明日期加减、格式化、日历转换等关键算法的工作原理。 3. 设计模式:讨论如何设计万年历系统结构,使其易于扩展和维护。 4. 故障排查:列出常见错误和解决策略。 5. 性能测试:分享性能测试结果...

    MongoDB中的加减乘除运算详解

    MongoDB 是一个流行的开源文档型数据库,它支持丰富的查询语法和数据操作,包括对数值进行加减乘除的运算。本文将深入讲解 MongoDB 中的加减乘除运算,以帮助开发者更好地理解和运用这些数学表达式。 首先,我们来...

Global site tag (gtag.js) - Google Analytics