Scala で現在の日付と時刻を取得する

Suraj P 2023年1月30日
  1. Scala で現在の日付と時刻を取得するために Nscala-Time ライブラリを使用する
  2. Scala で Java Calendar クラスを使用して現在の日付と時刻を取得する
Scala で現在の日付と時刻を取得する

この記事では、Scala で現在の日付と時刻を取得する方法について説明します。Scala は JVM ベースの汎用プログラミング言語であり、ここにある他の汎用プログラミングと同様に、日付と時刻は非常に重要な役割を果たします。

Java とは異なり、Scala にはネイティブの日時ライブラリがありません。しかし、Scala にはいくつかのライブラリがあります。これらは、Joda-Time のような有名な Java ライブラリのラッパーです。

これらのライブラリを使用すると、基盤となる Java ライブラリの能力とともに、Scala の表現力豊かなコーディングスタイルの優雅さを得ることができます。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