在日常项目中,经常会遇到需要在当前日期加上特定的天数作为新的日期,比如:

  • 会员充值
  • N天之前的日期
public static void main(String[] args) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String nowDateString = "2019-05-06 13:34:25";System.out.println("当前时间为:" + nowDateString);try {Date sourceDate = sdf.parse(nowDateString);Calendar calendar = Calendar.getInstance();calendar.setTime(sourceDate);calendar.add(Calendar.DATE,-5);Date targetDate = calendar.getTime();System.out.println("减去5天后的日期:"+sdf.format(targetDate));} catch (ParseException e) {e.printStackTrace();}}

附Calendar 字段说明

YEAR 当前年份
MONTH 当前月份( 注:初始值是从0开始,所以得到的比实际月份小1月)
DATE 一个月中的某天
WEEK_OF_YEAR 当前年中的第几个星期
WEEK_OF_MONTH 当前月中的第几个星期
DAY_OF_MONTH 一个月中的第几天
DAY_OF_YEAR 一年中的第几天
DAY_OF_WEEK 一个星期中的第几天
DAY_OF_WEEK_IN_MONTH 当前月中的第几个星期(注:当前月第1-7天是第一个星期,8-14是第二个星期,以此类推)
HOUR_OF_DAY 一天中的第几个小时
MINUTE 一小时中的第几分钟
SECOND 一分钟中的第几秒
MILLISECOND 一秒中的第几毫秒

!!!特别提醒

    calendar.add(Calendar.DAY_OF_MONTH,1);  calendar.add(Calendar.DAY_OF_YEAR,1);  calendar.add(Calendar.DATE,1);

这几行代码返回的结果是一样的,都是将日期+1
就没有区别说是在月的日期中加1还是年的日期中加1
但是Calendar设置DAY_OF_MONTH和DAY_OF_YEAR的目的不是用来+1
将日期加1,这通过cal1.add(Calendar.DATE,1)就可以实现
DAY_OF_MONTH的主要作用是cal.get(DAY_OF_MONTH),用来获得这一天在是这个月的第多少天
Calendar.DAY_OF_YEAR的主要作用是cal.get(DAY_OF_YEAR),用来获得这一天在是这个年的第多少天。
同样,还有DAY_OF_WEEK,用来获得当前日期是一周的第几天

java中日期加上特定的天数或者时间相关推荐

  1. java中日期格式的转换_java中定义日期格式的转换符

    Hi,大家好久不见,今天我们在这里给大家介绍一下关于Java的小知识,在Java中定义日期格式的转换符,至于运用呢就不和大家做介绍了:接下来就给大家详细介绍一下如何实现. 那我们该如何创建使用呢?首先 ...

  2. [转载] Java中日期格式转换

    参考链接: Java中的类型转换和示例 Code: /**     * 字符串转换为java.util.Date<br>     * 支持格式为 yyyy.MM.dd G 'at' hh: ...

  3. JAVA中日期 yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss的区别

    其实就是一个很小的知识点,但是本人在开发中,踩到了坑. 把两个格式弄混了.程序中需要按日期查询,用到了hh的,结果总是少12个小时的数据.弄了半天,刚开始还以为是时区弄错了呢,后来才发现原来是hh和H ...

  4. java中日期格式大小写标准写法

    java中日期格式大小写标准写法: yyyy-MM-dd HH:mm:ss (年-月-日 时:分:秒)

  5. JAVA中实现让程序等待一段时间的方法

    JAVA中想让代码等待一段时间再继续执行,可以通过让当前线程睡眠一段时间的方式. 方法一: 通过线程的sleep方法. Thread.currentThread().sleep(1000); 在需要程 ...

  6. java中日期怎么_Java 中的日期处理

    最初学习 Java 时是采用学校教材和市面上的一些 Java 视频教程进行学习,到了工作中才发现有些 API 或包已经过时了.最近使用 Java 中的日期处理时发现 java.util.date 与 ...

  7. Java中日期处理--LocalDate类

    文章目录 0 写在前面 1 介绍 2 举例 3 写在后面 0 写在前面 Java中存在一个日历表示法的类库–>LocalDate类. 如果只想要指定的年月日就可以用这个LocalDate类. 1 ...

  8. Java 中日期的几种常见操作 —— 取值、转换、加减、比较

    Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提 ...

  9. 震惊!java中日期格式化的大坑!

    前言 我们都知道在java中进行日期格式化使用simpledateformat.通过格式 yyyy-MM-dd 等来进行格式化,但是你知道其中微小的坑吗? yyyy 和 YYYY 示例代码 @Test ...

最新文章

  1. 如何使用工具包 (NLTK) 开发NLP 项目?(附教程)
  2. 聊聊高并发(四)Java对象的表示模型和运行时内存表示
  3. 判断iframe是否加载完毕的方法(兼容ie和Firefox)
  4. 服务器 发布 WebService 错误
  5. CentOS 7 常用命令集合
  6. Meteor 加入账户系统
  7. mysql的存储过程的参数,MySQL存储过程中的参数
  8. 36. BOM (2)
  9. python毕业设计作品基于django框架校园网站系统毕设成品(6)开题答辩PPT
  10. netperf 学习笔记
  11. 【Unity实战100例】Unity幸运大转盘之概率可控
  12. 【数据分析与可视化】股票市场分析实战之历史趋势分析
  13. 中南计算机专业数学复试分数线,2019年中南大学考研复试分数线已公布
  14. 易基因|动物发育过程中顺式调控区域的活性DNA去甲基化早于脊椎动物起源:重磅研究
  15. 嘉信给你介绍新加坡10大特色美食
  16. go mod init错误(go: cannot determine module path for source directory)
  17. jsdelivr cdn npm替代方案
  18. 时间触发嵌入式系统设计模式 读书笔记
  19. ZYNQ7000学习(十八)多路 PWM 原理分析以及实现试验
  20. C语言指针类型的意义

热门文章

  1. python中uppercase是什么意思_python判断大小写并转换_python中string模块相关方法(大小写转换,字符串条件判断)....
  2. 简历推荐_26位AI产品经理
  3. 51nod 1001
  4. 西安华为OD面试经验(德科)
  5. 绕过安卓的唯一机会,可能是利用EMUI中沉睡的AI藏宝图
  6. Oracle如何查询大于1的结果,ORACLE的一些查询
  7. 2021acm-icpc区域赛(南京)补题笔记
  8. redis和zookeeper实现分布式锁的区别
  9. python文件练习题
  10. 你又不杀狼人,何必非要银弹?