如何从当前日期设置日期 1 年?
How to set date 1 year from current date?
我想在当前日期中加上准确的 1 年。如何实现?
我试过这个:
fun getDefaultNextYearDate(): Date {
val cal = Calendar.getInstance()
cal.time = Date() //current date
cal.add(Calendar.YEAR, Calendar.YEAR + 1)
return cal.time
}
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS'Z'", Locale.getDefault())
val nextYearDate = sdf.parse(sdf.format(Api.getDefaultNextYearDate()))
但出于某种原因,这将增加 2 年后 (07/03/2021)
Calendar.YEAR 是表示日历年份的字段编号。
它的值为 1。
所以,当你这样做时:
cal.add(Calendar.YEAR, Calendar.YEAR + 1)
第一个参数是你要更新的字段(字段 1,YEAR),第二个参数是你要添加到这个 属性 的金额,此时你是说你想要添加 Calendar.YEAR(1) + 1,因此,您要将 2 添加到此日历的年份。
只需这样做:
cal.add(Calendar.YEAR, 1)
你会得到你所期待的。
您正在将 Calendar.YEAR
和 +1
添加到当前年份。由于 Calendar.YEAR
是一个值为 1
的常量,您实际上要添加 2
年。
您可能还想看看 java.time
-API。您的示例看起来很简单:
fun getDefaultNextYearDate() = LocalDateTime.now().plusYears(1)
Calendar.add() 有两个参数,第一个是你要添加的单位,第二个是数量。所以你需要将 cal.add(Calendar.YEAR, Calendar.YEAR + 1)
替换为 cal.add(Calendar.YEAR, 1);
fun getDefaultNextYearDate(): Date {
val cal = Calendar.getInstance()
cal.time = Date() //current date
cal.add(Calendar.YEAR, 1)
return cal.time
}
我想在当前日期中加上准确的 1 年。如何实现?
我试过这个:
fun getDefaultNextYearDate(): Date {
val cal = Calendar.getInstance()
cal.time = Date() //current date
cal.add(Calendar.YEAR, Calendar.YEAR + 1)
return cal.time
}
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS'Z'", Locale.getDefault())
val nextYearDate = sdf.parse(sdf.format(Api.getDefaultNextYearDate()))
但出于某种原因,这将增加 2 年后 (07/03/2021)
Calendar.YEAR 是表示日历年份的字段编号。 它的值为 1。 所以,当你这样做时:
cal.add(Calendar.YEAR, Calendar.YEAR + 1)
第一个参数是你要更新的字段(字段 1,YEAR),第二个参数是你要添加到这个 属性 的金额,此时你是说你想要添加 Calendar.YEAR(1) + 1,因此,您要将 2 添加到此日历的年份。
只需这样做:
cal.add(Calendar.YEAR, 1)
你会得到你所期待的。
您正在将 Calendar.YEAR
和 +1
添加到当前年份。由于 Calendar.YEAR
是一个值为 1
的常量,您实际上要添加 2
年。
您可能还想看看 java.time
-API。您的示例看起来很简单:
fun getDefaultNextYearDate() = LocalDateTime.now().plusYears(1)
Calendar.add() 有两个参数,第一个是你要添加的单位,第二个是数量。所以你需要将 cal.add(Calendar.YEAR, Calendar.YEAR + 1)
替换为 cal.add(Calendar.YEAR, 1);
fun getDefaultNextYearDate(): Date {
val cal = Calendar.getInstance()
cal.time = Date() //current date
cal.add(Calendar.YEAR, 1)
return cal.time
}