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

Definición

Devuelve un nuevo objeto DateTime que suma el número especificado de horas al valor de esta instancia.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

Parámetros

value
Double Double Double Double

Número de horas enteras y fraccionarias.A number of whole and fractional hours. El parámetro value puede ser positivo o negativo.The value parameter can be negative or positive.

Devoluciones

Un objeto cuyo valor es la suma de la fecha y hora representadas por esta instancia y el número de horas representados por 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.

Excepciones

Ejemplos

En el ejemplo siguiente se usa el AddHours para agregar un número de valores enteros y fraccionarios a una fecha y hora.The following example uses the AddHours method to add a number of whole and fractional values to a date and time. También ilustra la pérdida de precisión originado por pasar al método un valor que incluye un componente de fracción.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

Comentarios

Este método no cambia el valor de este DateTime.This method does not change the value of this DateTime. En su lugar, devuelve un nuevo DateTime cuyo valor es el resultado de esta operación.Instead, it returns a new DateTime whose value is the result of this operation. El Kind propiedad devuelto del DateTime objeto es el mismo que el de value.The Kind property of the returned DateTime object is the same as that of value.

La parte fraccionaria de value es la parte fraccionaria de una hora.The fractional part of value is the fractional part of an hour. Por ejemplo, 4,5 equivale a 4 horas, 30 minutos, 0 segundos, 0 milisegundos y 0 pasos.For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds, and 0 ticks.

El value parámetro se redondea al milisegundo más cercano.The value parameter is rounded to the nearest millisecond.

Convertir los intervalos de tiempo de menos de una hora en una fracción puede implicar una pérdida de precisión si el resultado es un decimal de repetición de no terminación.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. (Por ejemplo, un minuto es el 0,016667 de una hora). Si esto es problemático, puede usar el Add método, que le permite especificar más de un tipo de intervalo de tiempo en una única llamada al método y elimina la necesidad de convertir los intervalos de tiempo en partes fraccionarias de una hora.(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.

Se aplica a

Consulte también: