java总会遇到获取之前时间和之后时间的需求,封装一个类,方便复用。

package com.yzkj.zf.utils;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;/*** @Description: 获取过去和未来的时间---GetPastAndFetureDate* @Author: MeiMei* @CreateDate: 2019-12-13 16:20* @Version: V1.0*/public class GetPastAndFetureDate {// 转换时间格式(年月日)private static String CONVERT_DATE_FORMAT = "yyyy-MM-dd";// 转换时间格式(年月日 时分秒 24h制)private static String CONVERT_DATE_FORMAT_COMPLETE = "yyyy-MM-dd HH:mm:ss";/*** 获取过去或者未来任意天内的日期数组(例如获取过去7天的时间列表)* @param intervals  intervals天内* @return  日期数组 ArrayList<String>*/public static ArrayList<String> GetPastDaysList(int intervals ) {ArrayList<String> pastDaysList = new ArrayList<>();ArrayList<String> FutureDaysList = new ArrayList<>();for (int i = 0; i <intervals; i++) {pastDaysList.add(getPastDate(i));FutureDaysList.add(getFutureDate(i));}return pastDaysList;}/*** 获取过去第几天的日期* @param past * @return String */public static String getPastDate(int past) {Calendar calendar = Calendar.getInstance();calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);Date today = calendar.getTime();SimpleDateFormat format = new SimpleDateFormat(CONVERT_DATE_FORMAT);String result = format.format(today);return result;}/*** 获取未来第几天的日期* @param past  几天* @return String */public static String getFutureDate(int past) {Calendar calendar = Calendar.getInstance();calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past);Date today = calendar.getTime();SimpleDateFormat format = new SimpleDateFormat(CONVERT_DATE_FORMAT);String result = format.format(today);return result;}/*** 得到某个时间点的几天前的时间* @param date  某个时间点* @param day  几天* @return String */public static String getDateBefore(String date,int day) {Date d = null;try {d = new SimpleDateFormat(CONVERT_DATE_FORMAT).parse(date);} catch (ParseException e) {e.printStackTrace();}Calendar calendar = Calendar.getInstance();calendar.setTime(d);calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)-day);Date today = calendar.getTime();SimpleDateFormat format = new SimpleDateFormat(CONVERT_DATE_FORMAT);String result = format.format(today);return result;}/*** 得到某个时间点的几天后的的时间* @param date  某个时间点* @param day  几天* @return*/public static String getAfterBefore(String date,int day) {Date d = null;try {d = new SimpleDateFormat(CONVERT_DATE_FORMAT).parse(date);} catch (ParseException e) {e.printStackTrace();}Calendar calendar = Calendar.getInstance();calendar.setTime(d);calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)+day);Date today = calendar.getTime();SimpleDateFormat format = new SimpleDateFormat(CONVERT_DATE_FORMAT);String result = format.format(today);return result;}}

【java】获取昨天、今天、明天、几天前、几天后的时间相关推荐

  1. Java 获取昨天、明天、半年、一年、前十分钟、前一个月等的时间

    前言 ❤Java学习路线个人总结-博客 ❤欢迎点赞

  2. linux中用shell获取昨天、明天或多天前的日期

    linux中用shell获取昨天.明天或多天前的日期时间 2015-12-08 09:33:00 BlogJava-专家区 原文 http://www.blogjava.net/xzclog/arch ...

  3. linux中通过date命令获取昨天或明天时间的方法

    linux中通过date命令获取昨天或明天时间的方法 date命令可以获取当前的时间,通过man,可以看到date有很多参数可以用,很容易做到格式化 date +"%F" 输出格式 ...

  4. 【Java】Java获取昨天日期的正确姿势

    Java获取昨天的日期,其实大部分人都用得不对: DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");Calendar ...

  5. java获取明天的日期_java怎么获取昨天,今天,明天的日期?java中获取日期的函数

    对于初步进入java学习阶段的朋友们来说,有一个必不可少的java基础知识,也就是日期函数,下面呢就用几个Demo带领大家一起来学习一下,如何用日期函数获取昨天,今天和明天的日期? 首先是获取昨天的日 ...

  6. Java 获取昨天的日期

    Date today = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24); SimpleDateFormat simpleDate ...

  7. Java 获取昨天、当前、明天的时间

    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); 20190705Calendar c = Calendar.get ...

  8. java获取今天、明天的凌晨时间

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;/*** 获取今天的凌晨时间*/ ...

  9. Java获取当天或者明天等零点时间(00:00:00)0时0分0秒的方法

    SimpleDateFormat sdfYMD = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar calendar = ...

  10. java获取今天和明天 Date类

    /*** 获取当天起始时间* @return*/public static Date getStartTime() {Calendar todayStart = Calendar.getInstanc ...

最新文章

  1. Validation failed for one or more entities. See ‘EntityValidationErrors’解决方法
  2. html轮廓位置,html – 具有边框/轮廓的六边形
  3. 计算机语言表示教师节快乐,表达教师节快乐的微信祝福语大汇总54句
  4. vuejs兄弟组件之间的通信
  5. [HTML5amp;CSS3]Transform具体解释
  6. PyTorch 1.0 中文文档:torchvision.datasets
  7. java 进阶 知乎_(二)零基础写Java知乎爬虫之进阶篇
  8. python django+bootstrap4+mysql智慧交通系统构建
  9. MyEclipse中流程定义文件保存时自动生成流程图
  10. (TOJ1248)Encoding
  11. STM32 f103 实现命令终端
  12. 开源练习linux网络编程,如何学习Linux网络编程
  13. C# Newtonsoft.Json用法
  14. web前端之JavaScript高级程序设计六:事件
  15. FX3SA三菱PLC使用软件GX Works2编写程序(梯形图等)
  16. python音乐库_目前在python3下有哪些音乐处理库?
  17. 接入层-汇聚层组网设计配置案例——双归上行-负载
  18. SQL Server 2016数据库下载
  19. 银河麒麟V10操作系统(桌面版/服务器版)官网免试用申请下载链接
  20. Visual MODFLOW4.1中文版学习资料

热门文章

  1. winform中textbox设置只能输入数字
  2. 荣耀3手机android 5.0吗,荣耀Play3上手后,发现竟然和想象中的不一样……
  3. 当前正在禁用加载项的状态下运行
  4. 我的feko怎么了?
  5. 转发文章:12306,我该不该相信你
  6. 7-99 打印九九口诀表 (15分)
  7. DorisDB vs ClickHouse SSB对比测试
  8. UBB常用代码及其使用说明
  9. 一步步教你从Mysql中读取图片并在网页显示
  10. 怎么解绑CSDN手机号