C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のDateTimeOffset.FromUnixTimeSeconds()メソッドとは?使い方とサンプルコード解説

C#のDateTimeOffset.FromUnixTimeSeconds()メソッドは、1970年1月1日0時0分0秒(UTC:1970-01-01T00:00:00Z)からの経過秒数で表されるUnix時間を、DateTimeOffset型の値に変換するための静的メソッドです。この記事では、基本的な構文から実際のコード例まで、わかりやすく解説します。

構文

DateTimeOffset.FromUnixTimeSeconds()メソッドの構文は以下の通りです。

public static DateTimeOffset FromUnixTimeSeconds(long val);

引数「val」には、1970年1月1日午前0時0分0秒(UTC)からの経過秒数として表されたUnix時間を指定します。メソッドの戻り値としては、変換後のDateTimeOffset値が返されます。

使用例

まずは、DateTimeOffset.FromUnixTimeSeconds()メソッドを使用した基本的な例を見てみましょう。ここでは、Unix時間として「20」秒を指定しています。

using System;
public class Demo {
    public static void Main() {
        DateTimeOffset offset = DateTimeOffset.FromUnixTimeSeconds(20);
        Console.WriteLine("DateTimeOffset = {0} ", offset);
        Console.WriteLine("DateTimeOffset (other format) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", offset);
    }
}

出力結果

上記のコードを実行すると、以下のような出力が得られます。

DateTimeOffset = 1/1/1970 12:00:20 AM +00:00
DateTimeOffset (other format) = 01 January 1970, 12:00:20

負の値を指定した場合の例

次に、基準日(1970年1月1日)より前の日時を取得する場合の例を紹介します。Unix時間が基準日より前になる場合は、パラメータに負の値を設定します。ここでは「-20」秒を指定しています。

using System;
public class Demo {
    public static void Main() {
        DateTimeOffset offset = DateTimeOffset.FromUnixTimeSeconds(-20);
        Console.WriteLine("DateTimeOffset = {0} ", offset);
        Console.WriteLine("DateTimeOffset (other format) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", offset);
    }
}

出力結果

実行すると、以下のような出力が得られます。

DateTimeOffset = 12/31/1969 11:59:40 PM +00:00
DateTimeOffset (other format) = 31 December 1969, 11:59:40

まとめ

DateTimeOffset.FromUnixTimeSeconds()メソッドを使うことで、Unix時間(エポック秒)を簡単にDateTimeOffset型へ変換できます。正の値で1970年以降の日時を、負の値でそれ以前の日時を表現できるため、APIやデータベースなどで頻繁に扱われるタイムスタンプの処理において非常に便利なメソッドです。

  1. C#のDateTimeOffset.Compare()メソッドの使い方をわかりやすく解説

    C#のDateTimeOffset.Compare()メソッドは、2つのDateTimeOffsetオブジェクトを比較し、最初の日時が2番目の日時よりも「前」なのか、「同じ」なのか、それとも「後」なのかを判定するための静的メソッドです。このメソッドは整数値(int型)を返し、その戻り値によって比較結果が以下のように表されます。0未満 − val1がval2より早い日時である場合0 − val1とval2が同一の日時である場合0より大きい − val1がval2より遅い日時である場合構文DateTimeOffset.Compare()メソッドの構文は以下の通りです。public static i

  2. 【C#入門】DateTimeOffset.AddYears()メソッドの使い方を徹底解説

    C#のDateTimeOffset.AddYears()メソッドは、現在のDateTimeOffsetインスタンスが表す日時に、指定した年数を加算した新しいDateTimeOffset値を返すメソッドです。元のインスタンスの値は変更されず、計算結果が新しいオブジェクトとして返される点に注意してください。構文AddYears()メソッドの構文は以下のとおりです。public DateTimeOffset AddYears (int val);引数valには、加算する年数を整数で指定します。負の値を指定すると、年数を減算(過去にさかのぼる)ことができます。主な特徴戻り値は新しいDateTimeOf