在 Scala 中获取当前日期和时间

Suraj P 2023年1月30日
  1. 在 Scala 中使用 Nscala-Time 库获取当前日期和时间
  2. 在 Scala 中使用 Java Calendar 类获取当前日期和时间
在 Scala 中获取当前日期和时间

本文将演示如何在 Scala 中获取当前日期和时间。Scala 是一种基于 JVM 的通用编程语言,就像这里的任何通用编程一样,日期和时间起着非常重要的作用。

与 Java 不同,Scala 没有本地日期时间库。但是我们在 Scala 中有一些库,它们是著名的 Java 库(如 Joda-Time)的包装器。

使用这些库,我们可以获得 Scala 富有表现力的编码风格的优雅以及底层 Java 库的强大功能。我们还可以在 Scala 中使用本机 Java 日期和时间库。

在 Scala 中使用 Nscala-Time 库获取当前日期和时间

在 Scala 中,Nscala-Time 库是 Joda-Time 的包装库。这也使许多运算符也可以执行日期时间算术。

要使用它,我们必须在我们的代码文件中导入 com.github.nscala_time.time.Imports._org.joda.time.Days

让我们看下面的例子:

val start:DateTime = DateTime.now()
val end:DateTime = x + (1.hours + 10.minutes + 5.seconds)
val elapsed:Interval = start to end
println(elapsed.toPeriod.toString(PeriodFormat.getDefault))

在 Scala 中使用 Java Calendar 类获取当前日期和时间

使用经典的 Java Calendar 类,我们可以在 Scala 中获取当前日期和时间。这是一个用于获取当前日期和时间的 Abstract 类;同样的类也可以在 Scala 中使用。

仅使用 getInstance() 方法获取当前时间

示例代码:

import java.util.Calendar;

object myClass {
      def main(args: Array[String])
      {
          var date = Calendar.getInstance()
          var curr_Minute = date.get(Calendar.MINUTE)
          var curr_Hour = date.get(Calendar.HOUR_OF_DAY)

          if(curr_Hour > 12)
          {
              curr_Hour = curr_Hour % 12
              println("Current time is "+curr_Hour+":"+curr_Minute+" PM")
          }
          else{
            println("Current time is "+curr_Hour+":"+curr_Minute+" AM")
          }

      }
   }

输出:

Current time is 11:12 AM

解释:

在上面的代码中,Calendar 类的 getInstance() 方法用于查找时间。我们使用了 calendar.MINUTEcalendar.HOUR_OF_DAY 并将结果分别存储在变量 curr_Minutecurr_Hour 中。

calendar.HOUR_OF_DAY 方法以 24 小时格式返回输出,我们使用条件语句将其转换为 12 小时格式。

使用 getTime() 方法获取完整的当前日期和时间

示例代码:

import java.util.Calendar;

object myClass {
    def main(args: Array[String]) {
        var date = Calendar.getInstance()
        var currentHour = date.getTime()
        println("Current date and time is "+currentHour)
    }
}

输出:

Current date and time is Fri Jun 03 11:25:16 GMT 2022

解释:

在上面的代码中,我们使用了 Calendar 类的内置方法 getTime() 方法。它以 MM DD time UTC YYYY 返回当前日期和时间。

仅使用 LocalDate 获取当前日期

示例代码:

import java.util.Calendar;

object myClass {

      def main(args: Array[String]) {
        println(java.time.LocalDate.now)
    }
   }

输出:

2022-06-03

解释:

我们使用 LocalDate.now 来获取当前日期。我们还可以使用 SimpleDateFormat 类和 Calendar 类将日期格式化为我们选择的特定格式。

我们必须在我们的代码中导入 java.text.SimpleDateFormat 才能使用它。

使用 getTime() 方法获取格式化的当前日期

示例代码:

import java.util.Calendar;
import java.text.SimpleDateFormat;

object myClass
{
      def main(args: Array[String])
      {
        val ourform = new SimpleDateFormat("dd / MM / yy");
        val temp = Calendar.getInstance();
        println("current Date is : " + temp.getTime());
        val formatted_Date = ourform.format(temp.getTime());
        println("Formatted date is: "+formatted_Date);
      }
   }

输出:

current Date is : Fri Jun 03 11:45:35 GMT 2022
Formatted date is: 03 / 06 / 22
作者: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub