DateTime.AddHours(Double) Metoda

Definicja

Zwraca nową DateTime , która dodaje określoną liczbę godzin do wartości tego wystąpienia.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

Parametry

value
Double

Liczba całych i częściowych godzin.A number of whole and fractional hours. valueParametr może mieć wartość ujemną lub dodatnią.The value parameter can be negative or positive.

Zwraca

DateTime

Obiekt, którego wartość jest sumą daty i godziny reprezentowanej przez to wystąpienie oraz liczbę godzin przedstawionych przez 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.

Wyjątki

Wynikiem DateTime jest mniejsza niż MinValue lub większa niż MaxValue .The resulting DateTime is less than MinValue or greater than MaxValue.

Przykłady

W poniższym przykładzie zastosowano AddHours metodę, aby dodać wiele wartości całkowitych i ułamkowych do daty i godziny.The following example uses the AddHours method to add a number of whole and fractional values to a date and time. Ilustruje również utratę dokładności spowodowaną przez przekazanie metody do wartości, która zawiera składnik Ułamkowy.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

Uwagi

Ta metoda nie zmienia wartości tego elementu DateTime .This method does not change the value of this DateTime. Zamiast tego zwraca nową wartość, DateTime której wartością jest wynik tej operacji.Instead, it returns a new DateTime whose value is the result of this operation. KindWłaściwość zwracanego DateTime obiektu jest taka sama jak w przypadku elementu value .The Kind property of the returned DateTime object is the same as that of value.

Część ułamkowa value jest częścią ułamkową godziny.The fractional part of value is the fractional part of an hour. Na przykład 4,5 jest równa 4 godziny, 30 minut, 0 sekund, 0 MS i 0 taktów.For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds, and 0 ticks.

valueParametr jest zaokrąglany do najbliższej milisekundy.The value parameter is rounded to the nearest millisecond.

Przekonwertowanie przedziałów czasu o wartości mniejszej niż godzina do ułamka może spowodować utratę precyzji, jeśli wynik jest niekończącą powtarzaną liczbą dziesiętną.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. (Na przykład jedna minuta to 0,016667 godziny). Jeśli jest to problematyczne rozwiązanie, można użyć Add metody, która umożliwia określenie więcej niż jednego rodzaju interwału czasu w wywołaniu pojedynczej metody i eliminuje konieczność konwersji przedziałów czasowych na części ułamkowe.(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.

Dotyczy

Zobacz też