`

java 已知一个Date(),获取前一天和后一天

    博客分类:
  • JAVA
 
阅读更多
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtil {
    
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String specifiedDay = sdf.format(date);
        System.out.println(getSpecifiedDayBefore(specifiedDay));
        System.out.println(getSpecifiedDayAfter(specifiedDay));
    }
    
    /**
     * 获得指定日期的前一天
     * 
     * @param specifiedDay
     * @return
     * @throws Exception
     */
    public static String getSpecifiedDayBefore(String specifiedDay) {//可以用new Date().toLocalString()传递参数
        Calendar c = Calendar.getInstance();
        Date date = null;
        try {
            date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        c.setTime(date);
        int day = c.get(Calendar.DATE);
        c.set(Calendar.DATE, day - 1);

        String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c
                .getTime());
        return dayBefore;
    }

    /**
     * 获得指定日期的后一天
     * 
     * @param specifiedDay
     * @return
     */
    public static String getSpecifiedDayAfter(String specifiedDay) {
        Calendar c = Calendar.getInstance();
        Date date = null;
        try {
            date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        c.setTime(date);
        int day = c.get(Calendar.DATE);
        c.set(Calendar.DATE, day + 1);

        String dayAfter = new SimpleDateFormat("yyyy-MM-dd")
                .format(c.getTime());
        return dayAfter;
    }
}

 

分享到:
评论

相关推荐

    java一亿数字取前100个(3秒钟获取)

    1. **优先队列(Priority Queue)**:Java中的`java.util.PriorityQueue`是一个无界优先队列,基于二叉堆实现。它支持O(log n)时间复杂度的插入和删除操作,是解决此类问题的理想选择。我们可以将队列设置为大小为...

    java系统获取时间小类

    在代码示例中,通过`DateFormat.getDateInstance()`方法创建了一个`DateFormat`实例,并设置了显示格式为`DateFormat.FULL`,这通常表示完整的日期和时间格式(例如,“星期三,八月 23,2023 12:05:08 上午 CST”)...

    JAVA读取同一路径下所有类及其方法

    我们可以使用一个名为 `ClassUtil` 的工具类来获取同一路径下所有类及其方法。这个类中有一个 `getAllAssignedClass` 方法,用于获取同一路径下所有子类或接口实现类。这个方法使用 `getClasses` 方法来获取当前类...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...

    已知一个int数组, 编程从数组中获取最大数

    已知一个int数组, 编程从数组中获取最大数,初学者,不知道是否正确。

    java获取ip地址返回地区

    Java中需要一个库来解析这个文件,例如开源项目`java-ip2region`。首先,将其添加为项目的依赖,然后通过库提供的API查询IP信息: ```java import com.github.ip2region.DbSearcher; // 加载QQwry数据文件 ...

    China_Province_City 2019年最新 的 3218个行政区 获取解析的java项目代码 省市区联动

    这个“China_Province_City”项目是针对这一需求的一个Java实现,提供了2019年最新的中国3218个行政区域的数据支持。下面我们将详细探讨相关的Java编程知识点和实现原理。 1. **Java基础**:该项目基于Java编程语言...

    java中Date的格式.pdf

    首先,我们看到一个简单的例子`DateExample1`,它创建了一个`Date`对象来获取系统当前的日期和时间,并通过`getTime()`方法将其打印出来。`getTime()`返回的是自1970年1月1日(00:00:00 GMT)以来的毫秒数,这是一个...

    已知一个点的坐标和两点之间距离求另外一点坐标

    已知一个点的坐标和两点之间距离求另外一点坐标

    java的一个初学者例子,坐标点和两点距离

    java的一个初学者例子,坐标点和两点距离,实现下面功能, //显示两个点坐标 //点移动后的坐标 //点的象限 //两点的距离 麻烦看过说下缺点,谢谢!

    c#已知窗口句柄获取窗口标题的方法

    下面是一个具体的示例代码,展示了如何使用C#和Win32 API来获取窗口标题: ```csharp using System; using System.Text; using System.Runtime.InteropServices; class Program { // 引入user32.dll中的...

    java转换时区时间过程详解

    Java时区时间转换是指将一个时区的时间转换成另一个时区的时间,这个过程需要了解时区的概念和计算方法。在本文中,我们将详细介绍时区的概念、UTC时间、格林尼治时间、夏令时、区时转换等知识点,并提供Java代码...

    根据当前坐标(经纬度)计算附近位置-java版本

    根据已知点坐标计算附近位置,代码详细解释了三种计算策略。主要涉及日常需要解决问题,例如类似于滴滴打车实现查找附近车辆业务逻辑和贝壳找房根据指定位置筛选出附近房源,上述两场场景应用可借鉴代码中两种方法...

    java根据两点经纬度计算距离

    3. Java实现:在Java中,你可以创建一个函数来实现Haversine公式。首先,将经纬度从十进制度转换为弧度,然后进行计算。使用`Math.sin()`, `Math.cos()`, `Math.atan2()` 和 `Math.sqrt()` 这些内置函数来处理数学...

    java 获取已知文件扩展名的代码

    本文将详细讲解如何利用Java代码来获取已知文件的扩展名,以及解决相关技术难点。 首先,我们要明确需求:获取文件的扩展名。这通常涉及到两个关键步骤: 1. **读取文件**:我们需要获取文件的完整路径,然后创建...

    定义一个Date 类,数据成员有year,month, day。以“年_月_日“的格式输出日期, 还提供把天加一的成员函数nextdate( ),要求能测试出如下的结果:

    定义一个Date 类,数据成员有year,month, day。以“年_月_日“的格式输出日期, 还提供把天加一的成员函数nextdate( ),要求能测试出如下的结果: a. 能够进入下一个月。 b. 能够进入下一个年。 c. 能显示日期。

    用JAVA写一个倒置单链表的源代码

    用JAVA写一个倒置单链表的源代码,适用于初学者,简单易懂

    经纬度计算距离、方位角等java源码

    另一个可能接受一个点的经纬度、距离和方位角,计算出第二个点的经纬度。 在实际应用中,这些计算可能会用于定位服务、导航系统、地图上的点对点路径规划等。例如,在百度地图或Google地图API开发中,可以使用这样...

    java实现七参数转换功能

    在IT行业中,坐标转换是一个重要的领域,特别是在GIS(地理信息系统)和导航系统中。Java作为一种广泛应用的编程语言,被广泛用于开发这样的功能。本篇将深入探讨“七参数转换”在Java中的实现,并通过名为...

    URL的三种获取内容的方式 java

    这个方法适用于那些返回类型已知的情况,比如当URL指向的是一个文件或一个能被Java识别的特定类型的流。但是,由于此方法的返回类型是`Object`,因此在实际使用时需要进行类型转换,这可能会导致运行时异常。例如: ...

Global site tag (gtag.js) - Google Analytics