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

C#のDateTime.AddTicks()メソッドの使い方を解説

C#の DateTime.AddTicks() メソッドは、現在の日時(DateTimeインスタンス)に指定したティック数を加算するためのメソッドです。このメソッドは元の値を変更せず、計算結果として新しい DateTime オブジェクトを返します。

構文

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

public DateTime AddTicks (long ticks);

引数 ticks には加算したいティック数を long 型で指定します。1ティックは100ナノ秒に相当します。なお、負の値を指定すると日時を過去方向へ移動させることができます。

使用例1:ティックを加算する場合

まずは、正の値を指定してティックを加算する基本的な例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        DateTime d1 = new DateTime(2019, 07, 25, 6, 20, 40);
        DateTime d2 = d1.AddTicks(5000);
        System.Console.WriteLine("DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
        System.Console.WriteLine("Initial Ticks = {0} ", d1.Ticks);
        System.Console.WriteLine("New Ticks = {0} ", d2.Ticks);
    }
}

出力結果

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

DateTime = 25 July 2019, 06:20:40
Initial Ticks = 636996324400000000
New Ticks = 636996324400005000

実行結果から、5000ティック(0.5ミリ秒)が加算され、新しい Ticks の値が「636996324400005000」になっていることが確認できます。

使用例2:負の値でティックを減算する場合

続いて、負の値を指定してティックを減算する例です。AddTicks() にマイナスの値を渡すことで、日時を過去へ戻すことができます。

using System;
public class Demo {
    public static void Main(){
        DateTime d1 = new DateTime(2019, 07, 25, 6, 20, 40);
        DateTime d2 = d1.AddTicks(-5000);
        System.Console.WriteLine("DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
        System.Console.WriteLine("Initial Ticks = {0} ", d1.Ticks);
        System.Console.WriteLine("New Ticks (subtracting) = {0} ", d2.Ticks);
    }
}

出力結果

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

DateTime = 25 July 2019, 06:20:40
Initial Ticks = 636996324400000000
New Ticks = 636996324399995000

今回は -5000 を指定しているため、元の Ticks の値から5000が減算され、「636996324399995000」という結果になりました。

ポイントまとめ

  • AddTicks() メソッドは、指定したティック数(100ナノ秒単位)を日時に加算する。
  • 元の DateTime インスタンスは変更されず、新しいインスタンスが返される(イミュータブル)。
  • 負の値を指定すれば、日時を過去方向に移動できる。
  • 高精度な時間計算が必要な場面(パフォーマンス測定など)で活用できる。
  1. C#のDateTime.AddDays()メソッドの使い方を徹底解説!日付に日数を加算する方法

    C#のDateTime.AddDays()メソッドは、現在のDateTimeインスタンスの値に指定した日数を加算するためのメソッドです。このメソッドは元のDateTimeオブジェクトを変更するのではなく、計算結果として新しいDateTimeオブジェクトを返します。そのため、戻り値を受け取る変数が必要になる点に注意しましょう。 基本構文 DateTime.AddDays()メソッドの構文は以下のとおりです。 public DateTime AddDays (double days); 引数 days には加算したい日数をdouble型で指定します。負の値を渡すことで、日付を減算(過去の日付に移動

  2. C#のDateTime.Add()メソッドとは?構文と使い方を実例付きで解説

    C#のDateTime.Add()メソッドは、指定したTimeSpanの値を現在のDateTimeインスタンスに加算し、その結果として新しいDateTimeオブジェクトを返すメソッドです。元のインスタンス自体は変更されず、計算結果が新しいオブジェクトとして生成される点が特徴です。基本構文DateTime.Add()メソッドの構文は以下の通りです。public DateTime Add (TimeSpan val);引数 val には、加算する時間間隔を表す TimeSpan を指定します。正の値を渡せば日時が進み、負の値を渡せば日時が遡ります。使用例1:日付を加算するまずは、115日分のTim