nowDate.add(Calendar.DAY_OF_MONTH,1); 谁能告诉我这里面的 1 是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nowDate.add(Calendar.DAY_OF_MONTH,1); 谁能告诉我这里面的 1 是啥意思相关的知识,希望对你有一定的参考价值。

add(Calendar.DAY_OF_MONTH,1)是nowDate+1天,一天后的日期
add(Calendar.DAY_OF_MONTH,-1)是nowDate-1天,一天前的日期
参考技术A 是指1月份追问

那如果 我把1 换成2 就是指二月份么??或者换成 -1呢,是指什么

追答

是的

追问

那个-1是指什么呢??

追答

MONTH,1 一月
MONTH,2 二月
MONTH,3三月

根本就不存在-1啊,除非你是把它放在不同的语境里。

参考技术B Adds or subtracts the specified amount of time to the given calendar field, based on the calendar's rules. For example, to subtract 5 days from the current time of the calendar, you can achieve it by calling:
add(Calendar.DAY_OF_MONTH, -5).
以上是官方的解释和例子,翻译如下:
根据calendar规则,对给定的calendar字段增加或者减少指定的时间值。例如,将现在的日期减少5天,你可以调用以下方法实现:
add(Calendar.DAY_OF_MONTH, -5).
如果今天是19日,那这个就是14日。

关于获取某月某日最后一天时Calendar的cal.getActualMaximum(Calendar.DAY_OF_MONTH)的吐槽

例如:

在2017.03.29-31号

新建一个Calendar的単例

设置年:2017

设置月:2

int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH)

得到日期为:3

 

例如:

在2017.03.01-28号

新建一个Calendar的単例

设置年:2017

设置月:2

int day = cal.getActualMaximum(Calendar.DAY_OF_MONTH)

得到日期为:28

 

原因:

1.Calendar类当你set的时候,并不会立即生效,只有等你get的时候才会生效

 

解决方法:

  实例化Calendar之后,执行clear方法,清除Calendar中的缓存

以上是关于nowDate.add(Calendar.DAY_OF_MONTH,1); 谁能告诉我这里面的 1 是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

关于获取某月某日最后一天时Calendar的cal.getActualMaximum(Calendar.DAY_OF_MONTH)的吐槽

Java中Calendar.DAY_OF_WEEK需要减一的原因

java日历返回错误的hour_of_day

Java 日期加减运算

JAVA日期加减运算

Calendar 获取年 月 日 时 分 秒