java日期操作工具类(获取指定日期、日期转换、相隔天数)

yizhihongxing

Java日期操作工具类

在Java中进行日期操作比较麻烦,需要经常进行格式化、计算等操作。使用Java日期操作工具类可以简化这些操作,提高代码可读性和可维护性。本文将介绍如何使用Java日期操作工具类完成获取指定日期、日期转换和相隔天数等常用操作。

获取指定日期

在Java日期操作中,通常需要获取当前日期、指定日期、某个日期的前一天或后一天等。下面是Java日期操作工具类中获取指定日期的代码:

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

public class DateUtil {
    /**
     * 获取指定日期
     *
     * @param year  年份
     * @param month 月份
     * @param day   日
     * @return      指定日期
     */
    public static Date getDate(int year, int month, int day) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(year, month - 1, day);
        return calendar.getTime();
    }

    /**
     * 获取当前日期
     *
     * @return 当前日期
     */
    public static Date getCurrentDate() {
        return new Date();
    }
}

如上代码所示,通过Calendar.getInstance()方法获取Java Calendar对象,然后调用set()方法设置年月日,最后通过getTime()方法获取指定日期。

以下是使用示例:

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

public class DateExample {

    public static void main(String[] args) {
        Date date = DateUtil.getDate(2022, 2, 22);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        System.out.println(sdf.format(date));

        Date currentDate = DateUtil.getCurrentDate();
        System.out.println(sdf.format(currentDate));
    }
}

上述代码输出结果为:2022/02/22 和 当前日期。

日期转换

在Java日期操作中,通常需要将日期转换为字符串、字符串转换为日期等。下面是Java日期操作工具类中日期转换的代码:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
    /**
     * 字符串转日期
     *
     * @param dateStr   日期字符串
     * @param pattern   格式化字符串
     * @return          日期
     * @throws ParseException     解析异常
     */
    public static Date parse(String dateStr, String pattern) throws ParseException {
        DateFormat dateFormat = new SimpleDateFormat(pattern);
        return dateFormat.parse(dateStr);
    }

    /**
     * 日期转字符串
     *
     * @param date      日期
     * @param pattern   格式化字符串
     * @return          日期字符串
     */
    public static String format(Date date, String pattern) {
        DateFormat dateFormat = new SimpleDateFormat(pattern);
        return dateFormat.format(date);
    }
}

如上代码所示,通过DateFormat类与SimpleDateFormat类实现日期转换功能。其中parse()方法将字符串转换为日期,format()方法将日期转换为字符串。

以下是使用示例:

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

public class DateExample {

    public static void main(String[] args) throws ParseException {
        Date date = DateUtil.parse("2022/02/22", "yyyy/MM/dd");
        System.out.println(date);

        String dateStr = DateUtil.format(date, "yyyy-MM-dd");
        System.out.println(dateStr);
    }
}

输出结果为:Tue Feb 22 00:00:00 CST 2022 和 2022-02-22。

相隔天数

在Java日期操作中,经常需要计算两个日期相隔的天数。下面是Java日期操作工具类中计算相隔天数的代码:

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

public class DateUtil {
    /**
     * 相隔天数
     *
     * @param start 开始日期
     * @param end   结束日期
     * @return      相隔天数
     */
    public static int daysBetween(Date start, Date end) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(start);
        long startTime = cal.getTimeInMillis();
        cal.setTime(end);
        long endTime = cal.getTimeInMillis();
        long diff = endTime - startTime;
        return (int) (diff / (1000 * 60 * 60 * 24));
    }
}

如上代码所示,通过Calendar获取日期对象,然后通过getTimeInMillis()方法将日期转换为毫秒数,计算出两个日期相隔的毫秒数,最后转换为天数。

以下是使用示例:

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

public class DateExample {

    public static void main(String[] args) {
        Date start = DateUtil.getDate(2022, 2, 22);
        Date end = DateUtil.getCurrentDate();
        int days = DateUtil.daysBetween(start, end);
        System.out.println(days);
    }
}

输出结果为:63。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java日期操作工具类(获取指定日期、日期转换、相隔天数) - Python技术站

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

相关文章

  • 原生Ajax之全面了解xhr的概念与使用

    原生Ajax之全面了解xhr的概念与使用 什么是Ajax? Ajax是指使用JavaScript、XMLHttpRequest对象、DOM、CSS等技术在不刷新页面的情况下实现异步更新页面数据的一种技术。我们通常使用Ajax来实现动态加载数据、实时交互等功能。 XMLHttpRequest对象 XMLHttpRequest对象是Ajax的核心之一。它是浏览器…

    Java 2023年5月20日
    00
  • 出现次数超过一半(50%)的数

    第一步: 思路分析 本题要求我们找出出现次数超过一半的数,可以采用摩尔投票法进行求解。摩尔投票法的思路是,每次从数组中取出两个不同的数之后,将它们同时删除,直到数组中只剩下一个数或者多个相同的数。此时剩下的就是出现次数超过一半的数。 第二步: 代码实现 采用摩尔投票法实现代码如下: int majorityElement(vector<int>&…

    Java 2023年6月16日
    00
  • Spring Boot ActiveMQ如何设置访问密码

    下面是详细讲解 Spring Boot ActiveMQ 如何设置访问密码的攻略: 1. 安装 ActiveMQ 首先需要安装 ActiveMQ。可以从官网下载二进制包,然后进行解压。假设解压后的目录为 activemq。 2. 配置 ActiveMQ 访问账号和密码 2.1 访问控制文件 在 ActiveMQ 的安装目录下,找到 conf 目录中的 act…

    Java 2023年5月20日
    00
  • Spring Boot集成MyBatis访问数据库的方法

    下面我将详细讲解如何在Spring Boot中集成MyBatis,访问数据库的完整步骤。 第一步:引入相关依赖 在pom.xml文件中添加以下依赖,其中包括Spring Boot的启动器、MyBatis的启动器、MySQL数据库连接驱动、MyBatis的Spring Boot集成包以及数据库连接池依赖。 <dependency> <grou…

    Java 2023年5月20日
    00
  • 解决Springboot-application.properties中文乱码问题

    解决 Springboot-application.properties 中文乱码问题需要遵循以下步骤: 步骤一:修改 IDE 编码 在开始修改 Springboot-application.properties 文件之前,首先需要确保 IDE 的编码设置正确。因为如果 IDE 的编码设置不正确,无论怎么修改 Springboot-application.p…

    Java 2023年5月20日
    00
  • 基于logback 实现springboot超级详细的日志配置

    基于logback实现Spring Boot超级详细的日志配置 在Spring Boot应用程序中,日志是非常重要的。它可以帮助我们快速定位问题,提高应用程序的可维护性和可用性。本文将详细讲解如何基于logback实现Spring Boot超级详细的日志配置,并提供两个示例。 1. 添加依赖 在pom.xml文件中添加以下依赖: <dependency…

    Java 2023年5月15日
    00
  • spring boot项目如何采用war在tomcat容器中运行

    首先,我们需要明确的是,Spring Boot可以作为独立的运行环境,也可以作为传统的Web应用程序打成WAR包在Servlet容器中运行。如果你希望将Spring Boot项目打包成WAR,在Tomcat容器中运行,可以参照下面的步骤: 1. 修改pom.xml 在项目的pom.xml文件中,将打包方式修改为war,如下所示: <packaging&…

    Java 2023年5月19日
    00
  • 解决maven打包失败:程序包xxxx不存在问题

    下面是解决”Maven打包失败:程序包xxxx不存在问题”的完整攻略: 1. 了解Maven依赖管理原理 Maven是一个流行的依赖管理工具,它通过依赖关系构建项目。当您创建一个新项目时,Maven会自动下载所需的依赖项并配置项目相应的环境。 Maven中的任何依赖都是通过坐标来定义的,包括GroupId、ArtifactId和Version三个属性。当Ma…

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