原文: https://www.programiz.com/kotlin-programming/examples/current-date-time

在此程序中,您将学习在 Kotlin 中获取不同格式的当前日期和时间。

示例 1:以默认格式获取当前日期和时间

  1. import java.time.LocalDateTime
  2. fun main(args: Array<String>) {
  3. val current = LocalDateTime.now()
  4. println("Current Date and Time is: $current")
  5. }

运行该程序时,输出为:

  1. Current Date and Time is: 2017-08-02T11:25:44.973

在上述程序中,当前日期和时间使用LocalDateTime.now()方法以可变电流存储。

对于默认格式,只需使用toString()方法将其从LocalDateTime对象转换为字符串即可。


示例 2:使用模式获取当前日期和时间

  1. import java.time.LocalDateTime
  2. import java.time.format.DateTimeFormatter
  3. fun main(args: Array<String>) {
  4. val current = LocalDateTime.now()
  5. val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")
  6. val formatted = current.format(formatter)
  7. println("Current Date and Time is: $formatted")
  8. }

运行该程序时,输出为:

  1. Current Date and Time is: 2017-08-02 11:29:57.401

在上面的程序中,我们使用DateTimeFormatter对象定义了Year-Month-Day Hours:Minutes:Seconds.Milliseconds格式的模式。

然后,我们使用了LocalDateTimeformat()方法来使用给定的formatter。 这使我们获得格式化的字符串输出。


示例 3:使用预定义的常量获取当前日期时间

  1. import java.time.LocalDateTime
  2. import java.time.format.DateTimeFormatter
  3. fun main(args: Array<String>) {
  4. val current = LocalDateTime.now()
  5. val formatter = DateTimeFormatter.BASIC_ISO_DATE
  6. val formatted = current.format(formatter)
  7. println("Current Date is: $formatted")
  8. }

运行该程序时,输出为:

  1. Current Date is: 20170802

在上面的程序中,我们使用了预定义的格式常量BASIC_ISO_DATE来获取当前 ISO 日期作为输出。


示例 4:以本地化样式获取当前日期时间

  1. import java.time.LocalDateTime
  2. import java.time.format.DateTimeFormatter
  3. import java.time.format.FormatStyle
  4. fun main(args: Array<String>) {
  5. val current = LocalDateTime.now()
  6. val formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
  7. val formatted = current.format(formatter)
  8. println("Current Date is: $formatted")
  9. }

运行该程序时,输出为:

  1. Current Date is: Aug 2, 2017 11:44:19 AM

在上面的程序中,我们使用了本地化样式Medium以给定的格式获取当前日期时间。 还有其他样式:FullLongShort


如果您有兴趣,这里是所有DateTimeFormatter模式的列表。

另外,这是等效的 Java 代码: Java 程序:获取当前日期和时间