gpt4 book ai didi

date - Kotlin 中的初始化日期

转载 作者:行者123 更新时间:2023-12-05 03:04:30 26 4
gpt4 key购买 nike

我正在尝试将日期传递给 Kotlin 中的函数。我不想必须键入“08/30/2018”作为字符串,而是更喜欢日期。我最初只尝试了 08/30/2018,但得到一个编译器,说明为输入找到了整数而不是日期。

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
  1. 为什么 Kotlin 接受 08/30/2018 作为整数?为什么它正确存储到另一个 int 变量,但在检索值时打印 0?

  2. 如何将变量初始化为 2000 年 1 月 1 日之类的日期,然后再设置另一个日期?我没有发现任何关于在任何地方传递日期的信息,除非它是一个字符串。

最佳答案

  1. 当您将 8/30/2018 分配给变量时,编译器会将其识别为整数除法 8/30,即 0 并且然后是/2018,结果是0
  2. 您可以像 val date = Date("1/1/2000") 那样做,但现在已弃用

您可以改用 Java 8 日期/时间 API:
val date = LocalDate.of(2000, 1, 1)
你可以在这里找到更多:
https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html

关于date - Kotlin 中的初始化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52896527/

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