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.MINUTE
と calendar.HOUR_OF_DAY
を使用し、結果をそれぞれ変数 curr_Minute
と curr_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