【问题标题】:How to get current time from device in kotlin? [duplicate]如何从 kotlin 中的设备获取当前时间? [复制]
【发布时间】:2022-01-08 17:46:27
【问题描述】:

如何从设备中获取当前时间?我可能需要 kotlin 语言的方法。

【问题讨论】:

  • 尝试使用上面链接的答案并粘贴到 Kotlin 文件中,android studio 会自己为您转换 Kotlin 中的代码

标签: android kotlin


【解决方案1】:

这是打发时间的简单方法!

val c = Calendar.getInstance()

val year = c.get(Calendar.YEAR)
val month = c.get(Calendar.MONTH)
val day = c.get(Calendar.DAY_OF_MONTH)

val hour = c.get(Calendar.HOUR_OF_DAY)
val minute = c.get(Calendar.MINUTE)

【讨论】:

    【解决方案2】:

    试试这个...

    LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
    

    例如)2021-12-02 17:17:03


    LocalDateTime.now() 需要 API 级别 26。 所以,如果 API 级别 26 以下, 你在你的方法上方添加@RequiresApi(Build.VERSION_CODES.0)这段代码。

    【讨论】:

      【解决方案3】:

      不要使用旧的日历 API,它是 outdated and troublesome

      使用LocalDateTime获取系统日期和时间

      private fun getCurrentDate() {
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
              val dateTime = LocalDateTime.now()      // date time object
              val month = dateTime.month              // result DECEMBER
              val date = dateTime.dayOfMonth          // result 2 (current date )
              val formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
              Log.d(
                  "Date:", parssed date ${dateTime.format(formatter)}"
              )
          }
      }
      

      FormatStyle 更改为 MEDIUM,SHORT,LONG,FULL 以相应地更改日期格式,或者您可以使用自定义日期解析器格式。

      产出:2021 年 12 月 2 日

      注意DateTimeFormatter只适用于android 8及以上,在android 8以下使用enable desugaring

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-01
        • 1970-01-01
        • 2023-03-20
        • 2016-06-05
        • 2018-09-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多