gpt4 book ai didi

java - 小写 "month"在Scala中是什么意思?

转载 作者:行者123 更新时间:2023-12-02 11:19:33 27 4
gpt4 key购买 nike

我在Scala中发现了一个很奇怪的问题。我试图获取上个月的最后一天。下面的工作表显示了正确的结果(在 Scala 中,月份从 0(一月)开始,所以三月是 2)。

enter image description here

但是,如果我注释掉左边最后一行,结果如下:

enter image description here

我所做的只是将lastMonth 变量分配给month。并且 lastMonth 更改为 3!

我哪里做错了?

这是代码片段:

import java.util.{Calendar, GregorianCalendar} // Get current time and the last date of last month

val now = Calendar.getInstance()
// test code
//now.set(Calendar.MONTH, Calendar.DECEMBER)

// get current year
val currYear = now.get(Calendar.YEAR)
// get current month, JANUARY is 0
val currMonth = now.get(Calendar.MONTH)

// back to last month
val lastMonthCalendar = now
// if this month is Dec, the YEAR would be automatically deducted by 1
lastMonthCalendar.add(Calendar.MONTH, -1)
lastMonthCalendar.getTime
val lastMonth = lastMonthCalendar.get(Calendar.MONTH)
val numDaysOfLastMonth = lastMonthCalendar.getActualMaximum(Calendar.DAY_OF_MONTH)
lastMonthCalendar.set(Calendar.DATE, numDaysOfLastMonth)
lastMonthCalendar.getTime

var year = lastMonthCalendar.get(Calendar.YEAR)
var month = lastMonth

最佳答案

get the last day of last month

这是你想要的吗?

scala> import java.time.LocalDate
import java.time.LocalDate

scala> LocalDate.now().withDayOfMonth(1).minusDays(1)
res1: java.time.LocalDate = 2018-03-31

scala> res1.getDayOfMonth
res2: Int = 31

scala> res1.getMonth
res3: java.time.Month = MARCH

scala> res1.getMonthValue
res4: Int = 3

关于java - 小写 "month"在Scala中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50031352/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com