广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java 获取日期前一年、月、日,指定日期的前几天,后几天
  • 590
分享到

Java 获取日期前一年、月、日,指定日期的前几天,后几天

java开发语言Poweredby金山文档 2023-08-31 10:08:06 590人浏览 薄情痞子
摘要

1. 方法1: 如果是 java8, 可以使用 LocalDate 获取 // 获取当前日期前一天的日期 LocalDate localDate = LocalDate.now().minusDays(1

1. 方法1: 如果是 java8, 可以使用 LocalDate 获取

         // 获取当前日期前一天的日期         LocalDate localDate = LocalDate.now().minusDays(1);//1代表提前多少天         // 获取时间字符串如: 2023-03-01         System.out.println(localDate.toString());         // 获取当前年如 2023         System.out.println(localDate.getYear());         // 获取当前月如 3         System.out.println(localDate.getMonthValue());         // 获取当前天如 1         System.out.println(localDate.getDayOfMonth());         //获取前一天的日期         String date = localDate.fORMat(DateTimeFormatter.ofPattern("yyyy-MM-dd"));//转为String类型

LocalDate转化为指定格式的字符串

方法1

        LocalDate localDate = LocalDate.parse("2022-02-02");        String date = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));        System.out.println(date); //2022-02-02

方法2

        LocalDate localDate = LocalDate.parse("2022-02-02");        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");        String date = dtf.format(localDate);        System.out.println(date); //2022-02-02

2. 方法2: 使用 Calendar

        //获取当前日期        Date date = new Date();        //将时间格式化成yyyy-MM-dd HH:mm:ss的格式        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        //创建Calendar实例        Calendar cal = Calendar.getInstance();        //设置当前时间        cal.setTime(date);        //在当前时间基础上减一年        cal.add(Calendar.YEAR, -1);          System.out.println(format.format(cal.getTime()));        //在当前时间基础上减一月        cal.add(Calendar.MONTH,-1);        System.out.println(format.format(cal.getTime()));        //同理增加一天的方法:        cal.add(Calendar.DATE, 1);        System.out.println(format.format(cal.getTime()));

3. 获取指定时间

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//定义日期显示格式        String now = sdf.format(new Date());//当前日期        String nowMonthLateDay = getNextDays(now, "-1");//当前日期的前一天        Calendar datees = Calendar.getInstance();        String years = String.valueOf(datees.get(Calendar.YEAR)) + "-11-15";//获取当前年的11-15
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//定义日期显示格式        Calendar c = Calendar.getInstance();        c.add(Calendar.MONTH, -1);//当前月减去一个月        String before = sdf.format(c.getTime());//上个月的当前日期        String now = sdf.format(new Date());//当前日期        String nowMonthLateDay = getNextDay(now, "-1");//当前日期的前一天        String lateMonthLateDay = getNextDay(before, "-1");//上个月的当前日期的前一天        Calendar cal = Calendar.getInstance();//        int m=cal.get(Calendar.MONTH)+1;//获取当前月份//        System.err.println("当前月份:"+m);        String nowMonthFirstDay = getFirstDayOfMonth(1);//获取当前月份的第一天        cal.add(Calendar.MONTH, -1);        cal.set(Calendar.DAY_OF_MONTH, 1); //重写当前日期        String lateMonthFirstDay = sdf.format(cal.getTime());//获取上个月的第一天

4. 获取当前年度,如果超过某个时间,就减去一年或者加上一年

  Date date = new Date();//获取日期        SimpleDateFormat dateFormats= new SimpleDateFormat("yyyy");//日期格式        String year=dateFormats.format(date);//获取当前年度        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");        //把String转为LocalDate        LocalDate localTime=LocalDate.parse(year+"-06-30",dtf);        Integer years=Integer.valueOf(year);        if (!LocalDate.now().isAfter(localTime)){//判断时间是否超过            years=Integer.valueOf(year)-1;        }        System.err.println(years);    }

5. 获取时间的工具

        public static Date strToDate(String strDate) {        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");        ParsePosition pos = new ParsePosition(0);        Date strtodate = formatter.parse(strDate, pos);        return strtodate;    }        public static String getNextDay(String nowdate, String delay) {        try {            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");            String mdate = "";            Date d = strToDate(nowdate);            long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;            d.setTime(myTime * 1000);            mdate = format.format(d);            return mdate;        } catch (Exception e) {            return "";        }    }        public static String getNextDays(String nowdate, String delay) {        try {            SimpleDateFormat format = new SimpleDateFormat("-MM-dd");            String mdate = "";            Date d = strToDate(nowdate);            long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;            d.setTime(myTime * 1000);            mdate = format.format(d);            return mdate;        } catch (Exception e) {            return "";        }    }        public static String getTimeShort() {        SimpleDateFormat formatter = new SimpleDateFormat(" HH");        Date currentTime = new Date();        String dateString = formatter.format(currentTime);        return dateString;    }        public static String getFirstDayOfMonth(int month) {        Calendar calendar = Calendar.getInstance();        // 设置月份        calendar.set(Calendar.MONTH, month - 1);        // 获取某月最小天数        int firstDay = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);        // 设置日历中月份的最小天数        calendar.set(Calendar.DAY_OF_MONTH, firstDay);        // 格式化日期        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");        String firstDays = sdf.format(calendar.getTime());        return firstDays;    }//g过去年度    public  static String gerLateYear(Integer num){        SimpleDateFormat format = new SimpleDateFormat("yyyy");        Calendar c = Calendar.getInstance();        //过去一年        c.setTime(new Date());        c.add(Calendar.YEAR, num);        Date y = c.getTime();        String year = format.format(y);        return  year;    }    //判断是否超过指定时间    public static boolean afterDate(String date) {        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");        //把String转为LocalDate        LocalDate localTime = LocalDate.parse(date, dtf);        //判断当前日期是否大于指定日期        return LocalDate.now().isAfter(localTime);    }

来源地址:https://blog.csdn.net/m0_54790214/article/details/129280230

--结束END--

本文标题: Java 获取日期前一年、月、日,指定日期的前几天,后几天

本文链接: https://www.lsjlt.com/news/385176.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java 获取日期前一年、月、日,指定日期的前几天,后几天
    1. 方法1: 如果是 java8, 可以使用 LocalDate 获取 // 获取当前日期前一天的日期 LocalDate localDate = LocalDate.now().minusDays(1...
    99+
    2023-08-31
    java 开发语言 Powered by 金山文档
  • java如何获取日期的几天前,几个月前和几年前
    这篇文章主要介绍java如何获取日期的几天前,几个月前和几年前,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实例如下:package bys.utils;import java.util.Date...
    99+
    2023-05-30
    java
  • php如何获取前几天的日期
    这篇文章主要介绍了php如何获取前几天的日期,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在PHP中,可以利用date()和strtotime()函数来获取前几天的日期,语法...
    99+
    2023-06-14
  • 利用shell获取指定日期前N天的日期
    一、创建测试文件test.sh #!/bin/sh . /etc/profile # 参数: # args[0] ,数据日期,日期格式yyyy-MM-dd # 取30天以前的日期 function...
    99+
    2022-06-04
    日期 shell
  • shell中怎么获取指定日期前N天的日期
    本篇文章给大家分享的是有关shell中怎么获取指定日期前N天的日期,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、创建测试文件test.sh#!/bin/sh. /...
    99+
    2023-06-09
  • php怎么获取当前时间戳后几天的日期
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php获取当前时间戳后几天日期的方法方式1:利用strtotime() 函数<php header("Content-type:text/html;ch...
    99+
    2018-04-27
    php 时间戳
  • php如何获取当前时间戳后几天的日期
    这篇文章主要介绍“php如何获取当前时间戳后几天的日期”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何获取当前时间戳后几天的日期”文章能帮助大家解决问题。获取方法:1、使用“date(&qu...
    99+
    2023-06-29
  • mysql怎么获取当前日期的后一天
    在mysql中获取当前日期后一天的方法首先,在命令行中启动mysql服务;service mysql start  MySQL服务启动后,在命令行中输入mysql的用户名和密码登录到mysql;mysql -u root...
    99+
    2022-10-07
  • sqlserver如何获取前一天的日期
    在SQL Server中,可以使用`GETDATE()`函数获取当前日期和时间。要获取前一天的日期,可以使用DATEADD函数来减去...
    99+
    2023-09-15
    sqlserver
  • mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
    1、当前日期 select DATE_SUB(curdate(),INTERVAL 0 DAY) ; ...
    99+
    2022-10-18
  • php如何获取指定日期是一周的第几天
    这篇文章主要讲解了“php如何获取指定日期是一周的第几天”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何获取指定日期是一周的第几天”吧!获取方法:1、定义“array("7...
    99+
    2023-06-21
  • Python中怎么获取指定月最后一天的日期
    Python中怎么获取指定月最后一天的日期,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Excel完成这个需求① 在单元格中输入EOMONTH()公式② 完成填...
    99+
    2023-06-16
  • java获取前...天日期(两种方式)
    1. 获取前一天日期 if(StringUtils.isBlank(curDate)) { curDate=DateTime.now().toDateStr();}// 获取前一天日期String date = LocalDate.p...
    99+
    2023-09-03
    mysql java
  • VBS中怎么获取当前日期的前一天
    本篇文章为大家展示了VBS中怎么获取当前日期的前一天 ,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。获取当前日期方法一: 代码如下:Currentdate1=date()msgbox Cu...
    99+
    2023-06-08
  • java获取当前日期是星期几的方法
    java获取当前时间时星期几: public static String getWeekOfDate(Date dt) { String[] weekDays = {"星期日", "星期一", "星期二", "星期...
    99+
    2021-03-24
    java
  • php怎么获取几月后的日期
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么获取几月后的日期实现步骤:使用strtotime() 函数进行日期的加减运算,获取几月后的时间戳。使用date() 函数格式获取的时间戳,将其转为指定的时间日...
    99+
    2021-10-16
    php 几月后的日期
  • php如何获取几月后的日期
    本文小编为大家详细介绍“php如何获取几月后的日期”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何获取几月后的日期”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。php获取几月后日期的方法:1、使用“st...
    99+
    2023-06-29
  • java中计算指定日期是一年的第几天的方法
    Java输入日期计算是这年的第几天:思路通过年份区分出是闰年还是平年,平年 2 月 28 天,闰年 2 月 29 天;12 月份 31 天其余月份均为 30 天;然后将每个月的天数相加即可,注意如果输入的是 12 月份,则是从 11 月份往...
    99+
    2019-12-26
    java
  • php怎么获取当前日期是一年的第几周
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在php中,可以利用date()函数来获取当前日期是一年的第几周。date() 函数可以格式化一个本地的时间或日期,该函数的语法格式如下:date($format [,...
    99+
    2021-03-08
    php 当前日期 一年的第几周
  • php如何获取当前日期是一年的第几周
    这篇文章主要讲解了“php如何获取当前日期是一年的第几周”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何获取当前日期是一年的第几周”吧!在php中,可以利用date()函数配合“W”...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作