DateTimeOffset.AddHours(Double) Método

Definición

Devuelve un nuevo objeto DateTimeOffset que agrega un número especificado de horas enteras y fraccionarias al valor de esta instancia.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

Parámetros

hours
Double

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

Devoluciones

DateTimeOffset

Objeto cuyo valor es la suma de la fecha y hora representadas por el objeto DateTimeOffset actual y el número de horas representado por 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.

Excepciones

El valor DateTimeOffset resultante es menor que MinValue.The resulting DateTimeOffset value is less than MinValue.

o bien-or- El valor DateTimeOffset resultante es mayor que MaxValue.The resulting DateTimeOffset value is greater than MaxValue.

Ejemplos

En el ejemplo siguiente se usa el AddHours método para mostrar las horas de inicio de los turnos de trabajo de una semana determinada en una oficina que tiene turnos de 2 8 horas al día.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                 

Comentarios

La parte fraccionaria del hours parámetro es la parte fraccionaria de una hora.The fractional part of the hours parameter is the fractional part of an hour. Por ejemplo, 4,5 es equivalente a 4 horas, 30 minutos, 0 segundos, 0 milisegundos.For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds. El hours parámetro se redondea al milisegundo más cercano.The hours parameter is rounded to the nearest millisecond.

Nota

Este método devuelve un nuevo DateTimeOffset objeto.This method returns a new DateTimeOffset object. No modifica el valor del objeto actual agregando hours a su fecha y hora.It does not modify the value of the current object by adding hours to its date and time.

Dado que un DateTimeOffset objeto no representa la fecha y la hora de una zona horaria específica, el AddHours método no tiene en cuenta las reglas de ajuste de una zona horaria concreta cuando realiza operaciones aritméticas de fecha y hora.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.

La conversión de intervalos de tiempo de menos de una hora a una fracción puede implicar una pérdida de precisión.Converting time intervals of less than an hour to a fraction can involve a loss of precision. (Por ejemplo, un minuto es 0,01666 de una hora). Si esto es problemático, puede usar el Add método, que permite especificar más de un tipo de intervalo de tiempo en una sola 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.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.

Se aplica a