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

C#のDateTimeOffset.AddMilliseconds()メソッドの使い方を徹底解説

C#のDateTimeOffset.AddMilliseconds()メソッドは、現在のDateTimeOffsetインスタンスの値に指定したミリ秒数を加算し、その結果を表す新しいDateTimeOffsetオブジェクトを返します。

重要なポイントとして、このメソッドは元のインスタンスの値を変更しません。DateTimeOffset構造体は不変(イミュータブル)であるため、計算結果は常に新しいオブジェクトとして返されます。

構文

AddMilliseconds()メソッドの構文は以下のとおりです。

public DateTimeOffset AddMilliseconds (double val);

パラメータ

  • val:加算するミリ秒数(double型)。負の値を指定すると、日時からミリ秒が減算されます。

戻り値

指定したミリ秒数を加算(または減算)した結果を表す、新しいDateTimeOffsetオブジェクトを返します。

使用例1:ミリ秒を加算する場合

まず、AddMilliseconds()メソッドを使ってミリ秒を加算する例を見てみましょう。

using System;
public class Demo {
   public static void Main() {
      DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 08, 10, 4, 20, 10, new TimeSpan(-5, 0, 0));
      Console.WriteLine("DateTimeOffset (before adding milliseconds) = {0}", dateTimeOffset);
      DateTimeOffset res = dateTimeOffset.AddMilliseconds(3000);
      Console.WriteLine("DateTimeOffset (after adding milliseconds) = {0}", res);
   }
}

出力結果

このプログラムを実行すると、以下の出力が得られます。

DateTimeOffset (before adding milliseconds) = 8/10/2019 4:20:10 AM -05:00
DateTimeOffset (after adding milliseconds) = 8/10/2019 4:20:13 AM -05:00

3000ミリ秒(3秒)が加算され、時刻が「4:20:10」から「4:20:13」に更新されていることがわかります。

使用例2:ミリ秒を減算する場合

次に、負の値を指定してミリ秒を減算する例を確認しましょう。

using System;
public class Demo {
   public static void Main() {
      DateTimeOffset dateTimeOffset = new DateTimeOffset(2019, 08, 10, 4, 20, 10, new TimeSpan(-5, 0, 0));
      Console.WriteLine("DateTimeOffset (before subtracting milliseconds) = {0}", dateTimeOffset);
      DateTimeOffset res = dateTimeOffset.AddMilliseconds(-2000);
      Console.WriteLine("DateTimeOffset (after subtracting milliseconds) = {0}", res);
   }
}

出力結果

このプログラムを実行すると、以下の出力が得られます。

DateTimeOffset (before subtracting milliseconds) = 8/10/2019 4:20:10 AM -05:00
DateTimeOffset (after subtracting milliseconds) = 8/10/2019 4:20:08 AM -05:00

-2000ミリ秒(-2秒)が指定されたため、時刻が「4:20:10」から「4:20:08」に減算されています。

まとめ

DateTimeOffset.AddMilliseconds()メソッドを使用すると、UTCオフセット情報を保持したまま、日時にミリ秒単位の加算・減算を簡単に行うことができます。タイムゾーンを考慮した日時処理が必要なアプリケーションで特に有用なメソッドです。

  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