DateTimeOffset.AddHours(Double) DateTimeOffset.AddHours(Double) DateTimeOffset.AddHours(Double) DateTimeOffset.AddHours(Double) Method

定義

このインスタンスの値に、指定された整数部と小数部から成る時間数を加算した新しい DateTimeOffset オブジェクトを返します。Returns a new DateTimeOffset object that adds a specified number of whole and fractional hours to the value of this instance.

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

パラメーター

hours
Double Double Double Double

整数部と小数部から成る時間数。A number of whole and fractional hours. 正数または負数を指定できます。The number can be negative or positive.

戻り値

現在の DateTimeOffset オブジェクトで表された日時に hours で表された時間数を加算した値を保持するオブジェクト。An object whose value is the sum of the date and time represented by the current DateTimeOffset object and the number of hours represented by hours.

例外

結果として得られる DateTimeOffset 値は MinValue より小さい値です。The resulting DateTimeOffset value is less than MinValue.

- または --or- 結果として得られる DateTimeOffset 値が MaxValue を超えています。The resulting DateTimeOffset value is greater than MaxValue.

次の例では、AddHours作業の開始時刻を表示する方法を特定の週が 1 日あたり 2 つの 8 時間シフトを office に移動します。The following example uses the AddHours method to list the start times of work shifts for a particular week at an office that has two eight-hour shifts per day.

const int SHIFT_LENGTH = 8;

DateTimeOffset startTime = new DateTimeOffset(2007, 8, 6, 0, 0, 0, 
                     DateTimeOffset.Now.Offset);
DateTimeOffset startOfShift = startTime.AddHours(SHIFT_LENGTH);

Console.WriteLine("Shifts for the week of {0:D}", startOfShift);
do
{ 
   // Exclude third shift
   if (startOfShift.Hour > 6)
      Console.WriteLine("   {0:d} at {0:T}", startOfShift);

   startOfShift = startOfShift.AddHours(SHIFT_LENGTH);
} while (startOfShift.DayOfWeek != DayOfWeek.Saturday &
           startOfShift.DayOfWeek != DayOfWeek.Sunday);
// The example produces the following output:
//
//    Shifts for the week of Monday, August 06, 2007
//       8/6/2007 at 8:00:00 AM
//       8/6/2007 at 4:00:00 PM
//       8/7/2007 at 8:00:00 AM
//       8/7/2007 at 4:00:00 PM
//       8/8/2007 at 8:00:00 AM
//       8/8/2007 at 4:00:00 PM
//       8/9/2007 at 8:00:00 AM
//       8/9/2007 at 4:00:00 PM
//       8/10/2007 at 8:00:00 AM
//       8/10/2007 at 4:00:00 PM                 
Const SHIFT_LENGTH As Integer = 8

Dim startTime As New DateTimeOffset(#8/6/2007 12:00:00AM#, _
                     DateTimeOffset.Now.Offset)
Dim startOfShift As DateTimeOffset = startTime.AddHours(SHIFT_LENGTH)

Console.WriteLine("Shifts for the week of {0:D}", startOfShift)                           
Do 
   ' Exclude third shift
   If startOfShift.Hour > 6 Then _
      Console.WriteLine("   {0:d} at {0:T}", startOfShift)

   startOfShift = startOfShift.AddHours(SHIFT_LENGTH)
Loop While startOfShift.DayOfWeek <> DayOfWeek.Saturday And _
           startOfShift.DayOfWeek <> DayOfWeek.Sunday
          
' The example produces the following output:
'
'    Shifts for the week of Monday, August 06, 2007
'       8/6/2007 at 8:00:00 AM
'       8/6/2007 at 4:00:00 PM
'       8/7/2007 at 8:00:00 AM
'       8/7/2007 at 4:00:00 PM
'       8/8/2007 at 8:00:00 AM
'       8/8/2007 at 4:00:00 PM
'       8/9/2007 at 8:00:00 AM
'       8/9/2007 at 4:00:00 PM
'       8/10/2007 at 8:00:00 AM
'       8/10/2007 at 4:00:00 PM                 

注釈

小数部分、hoursパラメーターが 1 時間の小数部。The fractional part of the hours parameter is the fractional part of an hour. たとえば、4.5 は 4 時間 30 分、0 秒を 0 ミリ秒に相当します。For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds. hoursパラメーターはミリ秒単位に丸められます。The hours parameter is rounded to the nearest millisecond.

注意

このメソッドは、新しい返しますDateTimeOffsetオブジェクト。This method returns a new DateTimeOffset object. 追加して、現在のオブジェクトの値は変更されませんhoursをその日付と時刻。It does not modify the value of the current object by adding hours to its date and time.

DateTimeOffsetオブジェクトでは、特定のタイム ゾーンの日時を表していません、AddHoursメソッドでは、特定のタイム ゾーン調整規則の日付と時刻の演算を実行するときは考慮されません。Because a DateTimeOffset object does not represent the date and time in a specific time zone, the AddHours method does not consider a particular time zone's adjustment rules when it performs date and time arithmetic.

1 時間未満の時間間隔を小数に変換すると、有効桁数の損失が生じることができます。Converting time intervals of less than an hour to a fraction can involve a loss of precision. (たとえば、1 分間は 0.01666 時間) です。問題がある場合は、使用できます、Addメソッドでは、1 つのメソッドの呼び出しで複数の時間間隔の種類を指定することができ、時間間隔を 1 時間の部分の小数部に変換する必要がなくなります。(For example, one minute is 0.01666 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.

適用対象

こちらもご覧ください