我想使用一个data class
数组,其中一个参数是Date
,我无法使用Date()因为它看起来与KotlinJS
有关,所以我尝试使用LocalDate
,所以我写了下面的代码:
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.*
data class transaction (var date: LocalDate, var quantity: Double)
val formatter: DateTimeFormatter
get() = DateTimeFormatter.ofPattern("dd.mm.yyyy", Locale.ENGLISH)
fun main(args: Array<String>) {
var salesOrders = ArrayList<transaction>()
println("Hello, world! ")
salesOrders.set(0, transaction(LocalDate.parse("01.02.2018", formatter), 0.0))
println(salesOrders)
}
但是,正如tryKotlin所示,我收到了一个错误:
无法解析文本'01 .02.2018':无法从TemporalAccessor获取LocalDate:{Year = 2018,MinuteOfHour = 2,DayOfMonth = 1}。
答案 0 :(得分:4)
如DateTimeFormatter documentation所述,模式中的“m”字符表示“分钟”; “月”是“M”。您需要将“mm”更改为“MM”。
答案 1 :(得分:0)
必须MM
而不是mm
请DateTimeFormatter