最近,业务中碰见需要获取指定的时间,比如向前倒推一定的时间,向后倒推一定的时间,此次记载一下处理的相关代码逻辑,

//获取当前时间向后推一天public static String getDayAfterOne(){SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.add(Calendar.DAY_OF_MONTH, 1);return sf.format(c.getTime());}//获取给定时间向后推一天public static String getSpecialDayAdd(String date){SimpleDateFormat d = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();try{c.setTime(d.parse(date));c.add(Calendar.DAY_OF_MONTH, 1);String t = d.format(c.getTime());System.out.println(t);return t;}catch (Exception e){e.printStackTrace();}return null;}/*** 获取当前时间向前推一天* @return*/public static String getNowDayBeforeOne(){SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.add(Calendar.DAY_OF_MONTH, -1);return sf.format(c.getTime());}/*** 获取当前时间向前推7天* @return*/public static String getNowDayBefore7(){SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.add(Calendar.DAY_OF_MONTH, -7);return sf.format(c.getTime());}/*** 获取指定时间向前推一天* @return*/public static String getSpecialDayBeforeOne(String timestr){SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();try{c.setTime(sf.parse(timestr));c.add(Calendar.DAY_OF_MONTH, -1);return sf.format(c.getTime());}catch (Exception e){e.printStackTrace();}return null;}/*** 获取指定区间内的时间* @param queryParams* @return*/public Map getSpecialDuringTime(Map queryParams){Map map = new HashMap();String tartTime = null;String endTime = null;if(queryParams.get("startTime") == null || "".equals(queryParams.get("startTime"))){//如果前端没有传开始时间,则默认查7天时间tartTime = getNowDayBefore7();map.put("startTime",tartTime);}else{//给定时间向前推一天tartTime = getSpecialDayBeforeOne(queryParams.get("startTime").toString());map.put("startTime",tartTime);}//结束时间if(queryParams.get("endTime") == null || "".equals(queryParams.get("endTime"))){// endTime = new SimpleDateFormat("yyyy-MM-dd-hh.mm.ss").format(new Date());//如果前端没有传截至时间endTime = getDayAfterOne();map.put("endTime",endTime);}else{//如果传入了,则查询指定时间后推一天//endTime = queryParams.get("endTime").toString();endTime = getSpecialDayAdd(queryParams.get("endTime").toString());map.put("endTime",endTime);}return map;}

测试就比较简单,大家自己写个main函数简单测一下就可以,我已经验证过了,可放心使用

java获取指定倒退或向前的时间工具类相关推荐

  1. java 获取温度_Java利用RXTX串口通信工具类获取DS18B20温度传感器的温度值

    环境:Windows10,Eclipse4.5.2,JDK1.7 设备:DS18B20温度传感器(4线,485接口),USB转485接口转换器,笔记本电脑 注意点:RTU传输,使用的是字节,那么在程序 ...

  2. java获取excle表格对象_Java使用excel工具类导出对象功能示例

    本文实例讲述了Java使用excel工具类导出对象功能.分享给大家供大家参考,具体如下: package com.gcloud.common; import org.apache.poi.ss.use ...

  3. java dateutils详解_java中DateUtils时间工具类详解

    package com.example.administrator.myapp; import java.text.ParseException; import java.text.SimpleDat ...

  4. Java获取指定年月的开始时间和结束时间

    文章目录 Java获取指定年月的开始时间和结束时间 Java获取指定年月的开始时间和结束时间 // 获取指定年指定月的开始天数和结束天数public static Map<String,Date ...

  5. Java获取指定月份的最后一天

    https://blog.csdn.net/itmyhome1990/article/details/85619804 Java获取指定月份的最后一天 麦田 2019-01-02 17:43:38   ...

  6. java获取指定日期的所在周的第一天(周一)

    java获取指定日期的所在周的第一天(周一) private static void getWeekByDate(Date time) {SimpleDateFormat sdf = new Simp ...

  7. JAVA获取指定日期

    JAVA获取指定日期 获取前/后(月.天.小时)时间 获取上月: 得到一个月最后一天日期(31/30/29/28) 获取本日日期 获取本周一日期 获取本周日日期 获取本月日期 java项目中经常需要用 ...

  8. Java时间工具类(获取上个月、获取月份1月1号时间戳、获取月份最后一天时间戳...)

    在开发中我们经常还会用到日期时间,以下是一个日期时间工具类,包含: 获取每月月初时间戳 获取每月15号时间戳 获取每月月末时间戳 获取当前被格式化后的日期 从这些方法中你可以改写出你需要的方法 PS: ...

  9. java 获取指定日期的前几天或后几天

    /*java获取指定日期的前几天或后几天@param datestr指定日期* @param format 日期格式* * @param flag true为获取后几天, false:为获取前几天* ...

最新文章

  1. 相机SDK采集的图像从堆栈读取并转为HALCON的格式继续目标识别
  2. 用Python爬网页需要了解什么背景知识
  3. Vector 把一个vector追加到另一个vector
  4. c# 获取excel单元格公式结果_excel公式应用技巧:文字和数字混合的单元格,如何求和?...
  5. java joda 获取utc时间_java – 使用JodaTime以毫秒为单位的UTC到本地时间
  6. git——^和~的区别(转)
  7. 5门可能衰落的编程语言
  8. 从决策树到xgboost(二)
  9. php计算购置税1007无标题,新旧个税计算公式对比–ps:世界上最好的语言PHP
  10. Genymotion安装那些事
  11. mybatis-generator
  12. 卡巴斯基防病毒软件授权文件添加
  13. Spring Data R2DBC 响应式数据库操作使用
  14. vue打包后hbuilder和cordova模拟器运行一片空白
  15. android从assets文件下面复制文件
  16. Android无线调试设备WIFI安装apk
  17. Apache Ranger:统一授权管理框架
  18. 用Python画一个“中国福”,送给想要祝福的人吧
  19. 适合小白入门的随机森林介绍
  20. python 箱线图的绘制方法

热门文章

  1. 《课程的反思与重建--我们需要什么样的课程观》之学习体会
  2. hadoop启动后,9000端口无法连接,netstat -tpnl中找不到该端口
  3. Deepin Linux修改Grub引导
  4. 在日常维护管理中对MySQL 日志的需求
  5. 使用广播信道的以太网
  6. Redis高级特性介绍及实例分析
  7. org manual翻译--3.1 内置的表格编辑器
  8. AMD5470显卡Ubuntu下的U盘的使用
  9. Gdevops广州站:大咖齐聚,从事运维和数据库的你不能错过!
  10. flink int序列化