使用Date和LocalDate

时间:2018-03-10 13:19:43

标签: kotlin

我想使用一个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}。

2 个答案:

答案 0 :(得分:4)

DateTimeFormatter documentation所述,模式中的“m”字符表示“分钟”; “月”是“M”。您需要将“mm”更改为“MM”。

答案 1 :(得分:0)

必须MM而不是mmDateTimeFormatter