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

Definition

Gibt einen neuen DateTime-Wert zurück, der die angegebene Anzahl von Stunden zum Wert dieser Instanz addiert.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

Parameter

value
Double Double Double Double

Eine Zahl, die aus ganzen Stunden und dem Bruchteil einer Stunde besteht.A number of whole and fractional hours. Der value-Parameter kann negativ oder positiv sein.The value parameter can be negative or positive.

Gibt zurück

Ein Objekt, dessen Wert die Summe aus der von dieser Instanz dargestellten Datums- und Uhrzeitangabe und der durch value dargestellten Anzahl von Stunden ist.An object whose value is the sum of the date and time represented by this instance and the number of hours represented by value.

Ausnahmen

Der resultierende DateTime-Wert ist kleiner als MinValue oder größer als MaxValue.The resulting DateTime is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird die AddHours -Methode verwendet, um einem Datum und einer Uhrzeit eine Anzahl von ganzen-und Bruch Werten hinzuzufügen.The following example uses the AddHours method to add a number of whole and fractional values to a date and time. Außerdem wird der Genauigkeits Verlust veranschaulicht, der verursacht wird, wenn der-Methode ein Wert übergeben wird, der eine Bruchteil-Komponente enthält.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

Hinweise

Diese Methode ändert nicht den Wert dieses DateTime.This method does not change the value of this DateTime. Stattdessen wird ein neuer DateTime zurückgegeben, dessen Wert das Ergebnis dieses Vorgangs ist.Instead, it returns a new DateTime whose value is the result of this operation. Die Kind -Eigenschaft des zurück DateTime gegebenen-Objekts entspricht der von value.The Kind property of the returned DateTime object is the same as that of value.

Der Bruchteil von value ist der Bruchteil einer Stunde.The fractional part of value is the fractional part of an hour. 4,5 entspricht z. b. 4 Stunden, 30 Minuten, 0 Sekunden, 0 Millisekunden und 0 Ticks.For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds, and 0 ticks.

Der value -Parameter wird auf die nächste Millisekunde gerundet.The value parameter is rounded to the nearest millisecond.

Das Umrechnen von Zeitintervallen von weniger als einer Stunde in einen Bruchteil kann zu einem Genauigkeits Verlust führen, wenn das Ergebnis ein sich wiederholendes Dezimaltrennzeichen ist.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. (Eine Minute beträgt z. b. 0,016667 einer Stunde.) Wenn dies problematisch ist, können Sie die Add -Methode verwenden, die es Ihnen ermöglicht, mehr als eine Art Zeitintervall in einem einzelnen Methodenaufruf anzugeben, und es entfällt, dass Sie Zeitintervalle in Bruchteile einer Stunde konvertieren müssen.(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.

Gilt für:

Siehe auch