DateTime.AddHours(Double) DateTime.AddHours(Double) DateTime.AddHours(Double) DateTime.AddHours(Double) Method

定義

このインスタンスの値に、指定された時間数を加算した新しい DateTime を返します。Returns a new DateTime that adds the specified number of hours to the value of this instance.

public:
 DateTime AddHours(double value);
public DateTime AddHours (double value);
member this.AddHours : double -> DateTime
Public Function AddHours (value As Double) As DateTime

パラメーター

value
Double Double Double Double

整数部と小数部から成る時間数。A number of whole and fractional hours. value パラメーターは、正または負のどちらの場合もあります。The value parameter can be negative or positive.

戻り値

このインスタンスで表された日付と時刻に value で表された時間数を加算した値を保持するオブジェクト。An object whose value is the sum of the date and time represented by this instance and the number of hours represented by value.

例外

結果として返された DateTimeMinValue より小さいか、MaxValue より大きいです。The resulting DateTime is less than MinValue or greater than MaxValue.

次の例ではAddHours 、メソッドを使用して、整数部と小数部の値を日付と時刻に追加しています。The following example uses the AddHours method to add a number of whole and fractional values to a date and time. また、小数部分を含む値をメソッドに渡すことによって生じる精度の低下についても示します。It also illustrates the loss of precision caused by passing the method a value that includes a fractional component.

using System;

public class Example
{
   public static void Main()
   {
      double[] hours = {.08333, .16667, .25, .33333, .5, .66667, 1, 2, 
                        29, 30, 31, 90, 365};
      DateTime dateValue = new DateTime(2009, 3, 1, 12, 0, 0);
      
      foreach (double hour in hours)
         Console.WriteLine("{0} + {1} hour(s) = {2}", dateValue, hour, 
                           dateValue.AddHours(hour));

   }
}
// The example displays the following output on a system whose current
// culture is en-US:
//    3/1/2009 12:00:00 PM + 0.08333 hour(s) = 3/1/2009 12:04:59 PM
//    3/1/2009 12:00:00 PM + 0.16667 hour(s) = 3/1/2009 12:10:00 PM
//    3/1/2009 12:00:00 PM + 0.25 hour(s) = 3/1/2009 12:15:00 PM
//    3/1/2009 12:00:00 PM + 0.33333 hour(s) = 3/1/2009 12:19:59 PM
//    3/1/2009 12:00:00 PM + 0.5 hour(s) = 3/1/2009 12:30:00 PM
//    3/1/2009 12:00:00 PM + 0.66667 hour(s) = 3/1/2009 12:40:00 PM
//    3/1/2009 12:00:00 PM + 1 hour(s) = 3/1/2009 1:00:00 PM
//    3/1/2009 12:00:00 PM + 2 hour(s) = 3/1/2009 2:00:00 PM
//    3/1/2009 12:00:00 PM + 29 hour(s) = 3/2/2009 5:00:00 PM
//    3/1/2009 12:00:00 PM + 30 hour(s) = 3/2/2009 6:00:00 PM
//    3/1/2009 12:00:00 PM + 31 hour(s) = 3/2/2009 7:00:00 PM
//    3/1/2009 12:00:00 PM + 90 hour(s) = 3/5/2009 6:00:00 AM
//    3/1/2009 12:00:00 PM + 365 hour(s) = 3/16/2009 5:00:00 PM
Module Example
   Public Sub Main()
      Dim hours() As Double = {.08333, .16667, .25, .33333, .5, .66667, 1, 2, _
                             29, 30, 31, 90, 365}
      Dim dateValue As Date = #3/1/2009 12:00#
      
      For Each hour As Double In hours
         Console.WriteLine("{0} + {1} hour(s) = {2}", dateValue, hour, _
                           dateValue.AddHours(hour))
      Next                             
   End Sub
End Module
' The example displays the following output on a system whose current
' culture is en-US:
' 3/1/2009 12:00:00 PM + 0.08333 hour(s) = 3/1/2009 12:04:59 PM
' 3/1/2009 12:00:00 PM + 0.16667 hour(s) = 3/1/2009 12:10:00 PM
' 3/1/2009 12:00:00 PM + 0.25 hour(s) = 3/1/2009 12:15:00 PM
' 3/1/2009 12:00:00 PM + 0.33333 hour(s) = 3/1/2009 12:19:59 PM
' 3/1/2009 12:00:00 PM + 0.5 hour(s) = 3/1/2009 12:30:00 PM
' 3/1/2009 12:00:00 PM + 0.66667 hour(s) = 3/1/2009 12:40:00 PM
' 3/1/2009 12:00:00 PM + 1 hour(s) = 3/1/2009 1:00:00 PM
' 3/1/2009 12:00:00 PM + 2 hour(s) = 3/1/2009 2:00:00 PM
' 3/1/2009 12:00:00 PM + 29 hour(s) = 3/2/2009 5:00:00 PM
' 3/1/2009 12:00:00 PM + 30 hour(s) = 3/2/2009 6:00:00 PM
' 3/1/2009 12:00:00 PM + 31 hour(s) = 3/2/2009 7:00:00 PM
' 3/1/2009 12:00:00 PM + 90 hour(s) = 3/5/2009 6:00:00 AM
' 3/1/2009 12:00:00 PM + 365 hour(s) = 3/16/2009 5:00:00 PM

注釈

このメソッドは、このDateTimeの値を変更しません。This method does not change the value of this DateTime. 代わりに、この操作の結果DateTimeを値として持つ新しいを返します。Instead, it returns a new DateTime whose value is the result of this operation. value返さKind れるオブジェクトのプロパティは、のプロパティDateTimeと同じです。The Kind property of the returned DateTime object is the same as that of value.

value小数部は、1時間の小数部です。The fractional part of value is the fractional part of an hour. たとえば、4.5 は、4時間、30分、0秒、0ミリ秒、および0ティックに相当します。For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds, and 0 ticks.

valueパラメーターは、ミリ秒単位で丸められます。The value parameter is rounded to the nearest millisecond.

1時間未満の時間間隔を分数に変換すると、結果が終了しない反復10進数の場合、精度が失われる可能性があります。Converting time intervals of less than an hour to a fraction can involve a loss of precision if the result is a non-terminating repeating decimal. (たとえば、1分は0.016667 時間です)。この問題が発生した場合は、 Addメソッドを使用できます。これにより、1回のメソッド呼び出しで複数の種類の時間間隔を指定できるようになり、時間間隔を1時間の小数部分に変換する必要がなくなります。(For example, one minute is 0.016667 of an hour.) If this is problematic, you can use the Add method, which enables you to specify more than one kind of time interval in a single method call and eliminates the need to convert time intervals to fractional parts of an hour.

適用対象

こちらもご覧ください