C#のDateTime.AddMilliseconds()メソッドの使い方を徹底解説
C#のDateTime.AddMilliseconds()メソッドは、現在のDateTimeインスタンスの値に指定したミリ秒数を加算するためのメソッドです。重要なポイントとして、DateTimeは不変(immutable)であるため、このメソッドは元のインスタンスを変更せず、新しいDateTimeオブジェクトを返します。
基本仕様
- 戻り値:ミリ秒が加算された新しいDateTimeオブジェクト
- 引数に負の値を指定すると、日時を過去方向にずらすことができます
- 結果がDateTime.MinValueやDateTime.MaxValueの範囲外になる場合は、ArgumentOutOfRangeExceptionがスローされます
構文
AddMilliseconds()メソッドの構文は以下のとおりです。
public DateTime AddMilliseconds (double mSec);
パラメータmSecには、加算するミリ秒数をdouble型で指定します。整数だけでなく、小数点以下の値も指定可能です。
使用例1:ミリ秒を加算する
まずは、1000ミリ秒(1秒)を加算する基本的な例を見てみましょう。
using System;
public class Demo {
public static void Main(){
DateTime d1 = new DateTime(2019, 11, 10, 5, 0, 25);
DateTime d2 = d1.AddMilliseconds(1000);
System.Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
System.Console.WriteLine("\nNew DateTime (After adding milliseconds) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
Initial DateTime = 10 November 2019, 05:00:25 New DateTime (After adding milliseconds) = 10 November 2019, 05:00:26
1000ミリ秒=1秒が正しく加算され、時刻が「05:00:25」から「05:00:26」に更新されていることがわかります。
使用例2:負の値でミリ秒を減算する
負の値を渡すことで、日時を過去方向に移動させることもできます。次の例では、2000ミリ秒(2秒)を減算しています。
using System;
public class Demo {
public static void Main(){
DateTime d1 = new DateTime(2019, 10, 5, 9, 0, 10);
DateTime d2 = d1.AddMilliseconds(-2000);
System.Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
System.Console.WriteLine("\nNew DateTime (After subtracting milliseconds) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
}
}出力結果
実行結果は以下のとおりです。
Initial DateTime = 05 October 2019, 09:00:10 New DateTime (After subtracting milliseconds) = 05 October 2019, 09:00:08
まとめ
DateTime.AddMilliseconds()メソッドを使えば、日時に対してミリ秒単位の精密な加減算を簡単に行えます。似たメソッドとしてAddSeconds()、AddMinutes()、AddTicks()なども用意されており、用途に応じて使い分けることで、タイマー処理やログのタイムスタンプ計算など、時間精度が求められる場面で柔軟に対応できます。
-
C#のDateTime.AddHours()メソッドの使い方を徹底解説
C#のDateTime.AddHours()メソッドは、指定した時間数を現在のDateTimeインスタンスの値に加算するためのメソッドです。重要なポイントとして、このメソッドは元のDateTimeオブジェクトを変更せず、計算結果を含む新しいDateTimeオブジェクトを返します。基本仕様DateTimeは不変(イミュータブル)な構造体のため、AddHours()を呼び出しても元の値は変わりません。戻り値は加算後の日時を持つ新しいDateTimeです。構文public DateTime AddHours (double hrs);パラメータ hrs には加算する時間数を指定します。負の値を渡すこ
-
C#のDateTime.AddDays()メソッドの使い方を徹底解説!日付に日数を加算する方法
C#のDateTime.AddDays()メソッドは、現在のDateTimeインスタンスの値に指定した日数を加算するためのメソッドです。このメソッドは元のDateTimeオブジェクトを変更するのではなく、計算結果として新しいDateTimeオブジェクトを返します。そのため、戻り値を受け取る変数が必要になる点に注意しましょう。 基本構文 DateTime.AddDays()メソッドの構文は以下のとおりです。 public DateTime AddDays (double days); 引数 days には加算したい日数をdouble型で指定します。負の値を渡すことで、日付を減算(過去の日付に移動