Java 9のofInstant()メソッドとは?Instantから日付・時刻への変換方法を解説
ofInstant()メソッドとは
Java 9では、日付や時刻の変換を簡単に行うためにofInstant()メソッドが新たに導入されました。このメソッドは、LocalDateクラス、LocalTimeクラス、LocalDateTimeクラスのそれぞれに用意されている静的メソッド(staticメソッド)です。
ofInstant()は、java.time.InstantオブジェクトをLocalDateなどの日付・時刻オブジェクトへ変換します。InstantはUTC(協定世界時)上のある時点を表すため、変換の際にはjava.time.ZoneIdの形式でタイムゾーンを指定する必要があります。
構文
public static LocalTime ofInstant(Instant instant, ZoneId zone) public static LocalDate ofInstant(Instant instant, ZoneId zone) public static LocalDateTime ofInstant(Instant instant, ZoneId zone)
サンプルコード
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.time.Instant;
import java.time.ZoneId;
public class OfInstantMethodTest {
public static void main(String args[]) {
Instant instant = Instant.parse("2020-02-05T02:35:15.245Z");
System.out.println("Instant値: " + instant);
LocalDate ld = LocalDate.ofInstant(instant, ZoneId.of("Asia/Kolkata"));
System.out.println("LocalDate値: " + ld);
LocalTime lt = LocalTime.ofInstant(instant, ZoneId.of("Asia/Kolkata"));
System.out.println("LocalTime値: " + lt);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.of("Asia/Kolkata"));
System.out.println("LocalDateTime値: " + ldt);
}
}実行結果
Instant値: 2020-02-05T02:35:15.245Z LocalDate値: 2020-02-05 LocalTime値: 08:05:15.245 LocalDateTime値: 2020-02-05T08:05:15.245
実行結果の解説
この例では、タイムゾーンとして「Asia/Kolkata」(インド標準時、UTC+5:30)を指定しています。元のInstantは「2020-02-05T02:35:15.245Z」というUTC上の時刻ですが、タイムゾーンを適用することで、同じ瞬間が現地時間では「2020-02-05T08:05:15.245」として表されています。これはUTCに5時間30分を加えた値です。
このようにofInstant()を使えば、タイムゾーンを意識しながらInstantを目的の日付・時刻型へ簡単に変換できます。従来のようにOffsetDateTimeなどを経由して変換する手間が省け、コードがより簡潔で読みやすくなる点が大きなメリットです。
-
JavaScriptの_.without()メソッドとは?配列から指定した値を除外する方法
JavaScriptで配列を操作する際、特定の値だけを取り除いた新しい配列を作りたいケースはよくあります。そんなときに便利なのが、Underscore.jsなどのユーティリティライブラリが提供する_.without()メソッドです。_.without()メソッドの概要_.without()は、第1引数に渡された配列から、第2引数以降で指定した要素をすべて除外し、その結果を新しい配列として返します。このメソッドには以下のような特徴があります。2つのパラメータを受け取る:第1パラメータが対象の配列、第2パラメータが取り除きたい値です。trueやfalseを問わず処理する:値の真偽を判断せず、各要素
-
Java 9のdestroyForcibly()メソッドとは?プロセスを強制終了する方法を解説
destroyForcibly() メソッドは、実行中のプロセスを強制的に終了(キル)するために使用されます。このメソッドは、プロセスが正常に終了しない場合や、フリーズ(応答停止)してしまった場合に特に役立ちます。 例えば、destroyForcibly() を呼び出した後でも isAlive() メソッドが true を返すことがあります。これは、OSレベルでの終了処理が完了するまでに時間差があるためです。また、destroyForcibly() は終了要求が正常に受け付けられた場合は true を返し、そうでない場合は false を返します。 構文 boolean destroyForc