Java实现获取前、后N天日期的函数分享

标题

Java实现获取前、后N天日期的函数分享

介绍

在 Java 中,我们可以通过编写函数,来获取前或后 N 天的日期。本攻略将介绍如何实现该功能。

步骤

1.通过 Java 中的 Calendar 类获取当前日期。

Calendar calendar = Calendar.getInstance();
Date now = calendar.getTime();

2.通过设置 calendar 的时间来计算前后的日期。

calendar.add(Calendar.DATE, -n); // n 为前 N 天
Date dateBefore = calendar.getTime();
calendar.setTime(now); // 恢复当前时间
calendar.add(Calendar.DATE, n); // n 为后 N 天
Date dateAfter = calendar.getTime();

3.将得到的日期转化为字符串。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String strBefore = sdf.format(dateBefore);
String strAfter = sdf.format(dateAfter);

完整代码

import java.util.Calendar;
import java.util.Date;
import java.text.SimpleDateFormat;

public class DateUtils {
    public static String getBeforeDate(int n) {
        Calendar calendar = Calendar.getInstance();
        Date now = calendar.getTime();
        calendar.add(Calendar.DATE, -n);
        Date dateBefore = calendar.getTime();
        calendar.setTime(now);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        return sdf.format(dateBefore);
    }

    public static String getAfterDate(int n) {
        Calendar calendar = Calendar.getInstance();
        Date now = calendar.getTime();
        calendar.add(Calendar.DATE, n);
        Date dateAfter = calendar.getTime();
        calendar.setTime(now);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        return sdf.format(dateAfter);
    }
}

示例

public class Test {
    public static void main(String[] args) {
        System.out.println("前 7 天:" + DateUtils.getBeforeDate(7)); // 输出:前 7 天:2022-01-05
        System.out.println("后 7 天:" + DateUtils.getAfterDate(7)); // 输出:后 7 天:2022-01-19
    }
}
阅读剩余 32%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现获取前、后N天日期的函数分享 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • javascript es6的常用语法你知道吗

    JavaScript ES6 常用语法 ES6是JavaScript的一种标准,也被称为ECMAScript2015,它为JavaScript添加了很多新特性和语法。以下是ES6中常用的几种语法。 let & const 在ES6之前,我们只能使用var关键字来声明变量。而在ES6中,我们可以使用let和const关键字来声明变量。 let用来声明一…

    Java 2023年6月15日
    00
  • 微信小程序 ES6Promise.all批量上传文件实现代码

    让我来详细讲解一下“微信小程序 ES6Promise.all批量上传文件实现代码”的攻略过程。 先了解一下Promise.all 在了解如何使用ES6中的Promise.all实现批量上传文件之前,我们先来了解一下Promise.all的相关知识。 Promise.all是一个非常强大的方法,它可以将多个Promise实例包装成一个新的Promise实例。当…

    Java 2023年5月23日
    00
  • Java中Set与List的关系与区别介绍

    当我们使用Java编程语言时,需要用到一些Java集合框架,其中最常见的莫过于Set和List了。这两个集合框架都有自己的特点和用途,下面我们来详细讲解一下Set与List的关系和区别,并提供一些示例说明。 Set和List的概念简介 Set是一个无序的集合,并且不允许出现重复的元素,它是一个继承于Collection接口的子接口。Set接口有以下实现:Ha…

    Java 2023年6月15日
    00
  • Java 中限制方法的返回时间最新方法

    下面我将详细讲解“Java 中限制方法的返回时间最新方法”的完整攻略。 1. 背景 在某些场景下,我们需要限制某些方法的返回时间,以避免对系统资源的过度占用或者对用户造成不良体验等问题。 然而,Java 原生并没有提供限制方法返回时间的接口或者关键字,因此我们需要通过一些技巧来实现这个功能。 2. 解决方案 2.1 使用 ExecutorService 实现…

    Java 2023年5月20日
    00
  • 一文带你了解Java排序算法

    一文带你了解Java排序算法 在计算机科学中,排序算法是一种将一组数据按照特定规则进行排列的过程。Java中提供了多种排序算法实现,本文将为您介绍常见的排序算法及其实现方式。 冒泡排序 冒泡排序是一种基本的排序算法,通过重复遍历要排序的列表来比较相邻的两个元素,如果顺序错误,则进行交换,直到没有任何交换发生为止。 public static void bub…

    Java 2023年5月19日
    00
  • java实现简单的webservice方式

    Java实现简单的Web Service方式可以通过使用两种不同的编程方式来完成:JAX-WS和Apache CXF。下面我们分别介绍这两种方式。 JAX-WS方式实现Web Service JAX-WS是Java API for XML Web Services的缩写,是Java SE 6及以上提供的一种WebService编程API。下面是一个简单的JA…

    Java 2023年5月18日
    00
  • 如何使用Java动态代理?

    如何使用Java动态代理 Java动态代理是一种在运行时动态生成代理类和代理对象的技术。与静态代理相比,Java动态代理无需手动编写代理类,可以更方便地进行代理操作。本文将详细讲解如何使用Java动态代理。 什么是Java动态代理 Java动态代理是一种在运行时动态生成代理类和代理对象的技术,其基本原理是实现了代理对象所实现的接口并且将方法的调用转发到指定的…

    Java 2023年5月11日
    00
  • Spring Security使用Lambda DSL配置流程详解

    Spring Security是一个非常强大和流行的框架,用于保护Web应用程序和REST API。在配置Spring Security时,我们可以使用Java配置或XML配置。然而,最近Spring Security又推出了一种新的配置方式,即使用Lambda DSL编程风格进行配置。本篇文章将详细讲解以Lambda DSL方式在Spring Securi…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部