C#のDateTimeOffset.ToLocalTime()メソッドとは?使い方を解説
C#のDateTimeOffset.ToLocalTime()メソッドは、現在のDateTimeOffsetオブジェクトを、実行環境に設定されているローカル(現地)タイムゾーンの時刻を表すDateTimeOffsetオブジェクトに変換します。UTC(協定世界時)ベースで保持されている日時を、システムのタイムゾーンに合わせた時刻へ変換したい場合に活用できるメソッドです。
構文
ToLocalTime()メソッドの構文は以下のとおりです。
public DateTimeOffset ToLocalTime ();
このメソッドは引数を受け取らず、ローカル時刻に変換された新しいDateTimeOffsetオブジェクトを戻り値として返します。
使用例1:現在時刻をローカル時刻に変換する
まずは、DateTimeOffset.Nowで取得した現在時刻をToLocalTime()メソッドで変換する基本的な例を見てみましょう。
using System;
public class Demo {
public static void Main() {
DateTimeOffset local;
DateTimeOffset dateTimeOffset = DateTimeOffset.Now;
Console.WriteLine("DateTimeOffset = {0}", dateTimeOffset);
local = dateTimeOffset.ToLocalTime();
Console.WriteLine("Local Time = " + local.ToString());
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
DateTimeOffset = 10/16/2019 11:20:35 AM +00:00 Local Time = 10/16/2019 11:20:35 AM +00:00
使用例2:指定した日時をローカル時刻に変換する
次に、年月日や時分秒、オフセットを明示的に指定して作成したDateTimeOffsetオブジェクトを、ローカル時刻へ変換する例を紹介します。
using System;
public class Demo {
public static void Main() {
DateTimeOffset local;
DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 10, 12, 6, 10, 20, TimeSpan.Zero);
Console.WriteLine("DateTimeOffset = {0}", dateTimeOffset);
local = dateTimeOffset.ToLocalTime();
Console.WriteLine("Local Time = " + local.ToString());
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
DateTimeOffset = 10/12/2019 6:10:20 AM +00:00 Local Time = 10/12/2019 6:10:20 AM +00:00
注意点
出力結果は、プログラムを実行する環境のシステムタイムゾーン設定によって変わります。上記の例ではシステムがUTC(オフセット+00:00)に設定されているため、変換前後で同じ値が表示されています。たとえば日本標準時(JST、+09:00)の環境で実行した場合、ローカル時刻には9時間が加算された値が表示される点に注意してください。
-
【C#入門】DateTimeOffset.AddYears()メソッドの使い方を徹底解説
C#のDateTimeOffset.AddYears()メソッドは、現在のDateTimeOffsetインスタンスが表す日時に、指定した年数を加算した新しいDateTimeOffset値を返すメソッドです。元のインスタンスの値は変更されず、計算結果が新しいオブジェクトとして返される点に注意してください。構文AddYears()メソッドの構文は以下のとおりです。public DateTimeOffset AddYears (int val);引数valには、加算する年数を整数で指定します。負の値を指定すると、年数を減算(過去にさかのぼる)ことができます。主な特徴戻り値は新しいDateTimeOf
-
C#のDateTime.ToLocalTime()メソッドの使い方をわかりやすく解説
C#のDateTime.ToLocalTime()メソッドは、現在のDateTimeオブジェクトの値をローカル時刻(現地時間)に変換するために使用されます。このメソッドは、DateTimeオブジェクトが保持する時刻の種類(Kindプロパティ)に基づいて、適切なタイムゾーン変換を行います。 構文 ToLocalTime()メソッドの構文は以下の通りです。 public DateTime ToLocalTime (); 使用例1:現在日時をローカル時刻に変換する まず、DateTime.Nowで取得した現在の日時に対して、ToLocalTime()メソッドを使用する例を見てみましょう。 usi