【C#入門】DateTime.ToUniversalTime()メソッドで日時をUTC(協定世界時)に変換する方法
C#のDateTime.ToUniversalTime()メソッドは、現在のDateTimeオブジェクトが持つ値を協定世界時(UTC)に変換するために使用されます。タイムゾーンをまたぐアプリケーション開発では、時刻の比較や保存をUTCで統一するのが一般的なため、このメソッドは非常に重要です。
構文
ToUniversalTime()メソッドの構文は以下のとおりです。
public DateTime ToUniversalTime();
引数は不要で、戻り値としてUTCに変換された新しいDateTimeオブジェクトが返されます。
使用例1:基本的な使い方
まずは、DateTimeオブジェクトに対してToUniversalTime()メソッドを使用する基本例を見てみましょう。
using System;
public class Demo {
public static void Main() {
DateTime d = new DateTime(2019, 12, 11, 7, 11, 25);
Console.WriteLine("Date = {0}", d);
DateTime res = d.ToUniversalTime();
Console.WriteLine("String representation = {0}", res);
}
}出力結果
上記のコードを実行すると、次のような結果が出力されます。
Date = 11/11/2019 7:11:25 AM String representation = 11/11/2019 7:11:25 AM
使用例2:文字列から解析したローカル時刻をUTCへ変換
続いて、文字列として表現された日時をDateTime.Parse()メソッドで解析し、その後ToUniversalTime()メソッドでUTCに変換する例を見てみましょう。
using System;
public class Demo {
public static void Main() {
DateTime localDate, universalDate;
String str = "11/11/2019 4:10:55";
localDate = DateTime.Parse(str);
universalDate = localDate.ToUniversalTime();
Console.WriteLine("Local time = {0} ", localDate);
Console.WriteLine("Universal time = {0} ", universalDate);
}
}出力結果
上記のコードを実行すると、以下の出力が得られます。
Local time = 11/11/2019 4:10:55 AM Universal time = 11/11/2019 4:10:55 AM
補足:Kindプロパティによる動作の違い
ToUniversalTime()メソッドの挙動は、元のDateTimeオブジェクトのKindプロパティによって変わる点に注意が必要です。
- Kind.Localの場合:システムのタイムゾーン設定に基づいて、ローカル時刻からUTCへ変換されます。
- Kind.Utcの場合:すでにUTCであるため、同じ値がそのまま返されます。
- Kind.Unspecifiedの場合:ローカル時刻として扱われ、UTCへの変換が行われます。
このように、ToUniversalTime()メソッドを活用することで、異なるタイムゾーン間でも一貫性のある時刻処理を実現できます。サーバーとクライアントでタイムゾーンが異なるWebアプリケーションやクラウドサービスの開発では、特に役立つメソッドです。
-
C#のDateTime.AddDays()メソッドの使い方を徹底解説!日付に日数を加算する方法
C#のDateTime.AddDays()メソッドは、現在のDateTimeインスタンスの値に指定した日数を加算するためのメソッドです。このメソッドは元のDateTimeオブジェクトを変更するのではなく、計算結果として新しいDateTimeオブジェクトを返します。そのため、戻り値を受け取る変数が必要になる点に注意しましょう。 基本構文 DateTime.AddDays()メソッドの構文は以下のとおりです。 public DateTime AddDays (double days); 引数 days には加算したい日数をdouble型で指定します。負の値を渡すことで、日付を減算(過去の日付に移動
-
C#のDateTime.Add()メソッドとは?構文と使い方を実例付きで解説
C#のDateTime.Add()メソッドは、指定したTimeSpanの値を現在のDateTimeインスタンスに加算し、その結果として新しいDateTimeオブジェクトを返すメソッドです。元のインスタンス自体は変更されず、計算結果が新しいオブジェクトとして生成される点が特徴です。基本構文DateTime.Add()メソッドの構文は以下の通りです。public DateTime Add (TimeSpan val);引数 val には、加算する時間間隔を表す TimeSpan を指定します。正の値を渡せば日時が進み、負の値を渡せば日時が遡ります。使用例1:日付を加算するまずは、115日分のTim