我正在尝试将日期传递给 Kotlin 中的函数。我不想输入“08/30/2018”作为字符串,而是更喜欢日期。我最初只尝试了 2018 年 8 月 30 日,但编译器指出在输入中找到了整数而不是日期。
var myDate = 1/1/2000
var newDate = 08/30/2018
fun setDate(value: Int){
myDate = value
}
setDate(newDate)
println(newDate) //0
println(myDate) //0
println(myDate.compareTo(newDate)) //0
Run Code Online (Sandbox Code Playgroud)
为什么 Kotlin 接受 08/30/2018 作为 int ?为什么它正确存储到另一个 int 变量,但在检索该值时却打印 0?
如何将变量初始化为 1/1/2000 等日期,然后稍后设置另一个日期?我还没有发现任何关于在任何地方传递日期的信息,除非它是字符串。
8/30/2018
给变量时,编译器会将其识别为整数除法8/30
,即0
,/2018
然后结果为0
。val date = Date("1/1/2000")
,但现在已弃用 您可以改用 Java 8 Date/Time API:
val date = LocalDate.of(2000, 1, 1)
您可以在此处找到更多信息: https:
//www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html
归档时间: |
|
查看次数: |
10513 次 |
最近记录: |