Бөлісу құралы:


DateTime.AddSeconds(Double) Метод

Определение

Возвращает новое DateTime значение, которое добавляет указанное количество секунд в значение этого экземпляра.

public:
 DateTime AddSeconds(double value);
public DateTime AddSeconds(double value);
member this.AddSeconds : double -> DateTime
Public Function AddSeconds (value As Double) As DateTime

Параметры

value
Double

Количество целых и дробных секунд. Параметр value может быть отрицательным или положительным.

Возвращаемое значение

Объект, значение которого — сумма даты и времени, представленного этим экземпляром, и количество секунд, представленных value.

Исключения

DateTime Результат меньше DateTime.MinValue или больше DateTime.MaxValue.

Примеры

В следующем примере метод используется AddSeconds для добавления 30 секунд и количества секунд в один день к значению DateTime . Затем отображается каждое новое значение и отображается разница между ним и исходным значением. Разница отображается как в диапазоне времени, так и в виде числа галок.

using System;

public class Example
{
   public static void Main()
   {
      string dateFormat = "MM/dd/yyyy hh:mm:ss";
      DateTime date1 = new DateTime(2014, 9, 8, 16, 0, 0);
      Console.WriteLine("Original date: {0} ({1:N0} ticks)\n",
                        date1.ToString(dateFormat), date1.Ticks);

      DateTime date2 = date1.AddSeconds(30);
      Console.WriteLine("Second date:   {0} ({1:N0} ticks)",
                        date2.ToString(dateFormat), date2.Ticks);
      Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)\n",
                        date2 - date1, date2.Ticks - date1.Ticks);

      // Add 1 day's worth of seconds (60 secs. * 60 mins * 24 hrs.
      DateTime date3 = date1.AddSeconds(60 * 60 * 24);
      Console.WriteLine("Third date:    {0} ({1:N0} ticks)",
                        date3.ToString(dateFormat), date3.Ticks);
      Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)",
                        date3 - date1, date3.Ticks - date1.Ticks);
   }
}
// The example displays the following output:
//    Original date: 09/08/2014 04:00:00 (635,457,888,000,000,000 ticks)
//
//    Second date:   09/08/2014 04:00:30 (635,457,888,300,000,000 ticks)
//    Difference between dates: 00:00:30 (300,000,000 ticks)
//
//    Third date:    09/09/2014 04:00:00 (635,458,752,000,000,000 ticks)
//    Difference between dates: 1.00:00:00 (864,000,000,000 ticks)
open System

let dateFormat = "MM/dd/yyyy hh:mm:ss"
let date1 = DateTime(2014, 9, 8, 16, 0, 0)
printfn $"Original date: {date1.ToString dateFormat} ({date1.Ticks:N0} ticks)\n"

let date2 = date1.AddSeconds 30
printfn $"Second date:   {date2.ToString dateFormat} ({date2.Ticks:N0} ticks)"
printfn $"Difference between dates: {date2 - date1} ({date2.Ticks - date1.Ticks:N0} ticks)\n"

// Add 1 day's worth of seconds (60 secs. * 60 mins * 24 hrs.
let date3 = date1.AddSeconds(60. * 60. * 24.)
printfn $"Third date:    {date3.ToString dateFormat} ({date3.Ticks:N0} ticks)" 
printfn $"Difference between dates: {date3 - date1} ({date3.Ticks - date1.Ticks:N0} ticks)"

// The example displays the following output:
//    Original date: 09/08/2014 04:00:00 (635,457,888,000,000,000 ticks)
//
//    Second date:   09/08/2014 04:00:30 (635,457,888,300,000,000 ticks)
//    Difference between dates: 00:00:30 (300,000,000 ticks)
//
//    Third date:    09/09/2014 04:00:00 (635,458,752,000,000,000 ticks)
//    Difference between dates: 1.00:00:00 (864,000,000,000 ticks)
Module Example
   Public Sub Main()
      Dim dateFormat As String = "MM/dd/yyyy hh:mm:ss"
      Dim date1 As Date = #09/08/2014 16:00#
      Console.WriteLine("Original date: {0} ({1:N0} ticks)", _
                        date1.ToString(dateFormat), date1.Ticks)
      Console.WriteLine()
      
      Dim date2 As Date = date1.AddSeconds(30)
      Console.WriteLine("Second date:   {0} ({1:N0} ticks)", _
                        date2.ToString(dateFormat), date2.Ticks)
      Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)", _
                        date2 - date1, date2.Ticks - date1.Ticks)                        
      Console.WriteLine()
      
      ' Add 1 day's worth of seconds (60 secs. * 60 mins * 24 hrs.
      Dim date3 As Date = date1.AddSeconds(60 * 60 * 24)
      Console.WriteLine("Third date:    {0} ({1:N0} ticks)", _
                        date3.ToString(dateFormat), date3.Ticks)
      Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)", _
                        date3 - date1, date3.Ticks - date1.Ticks)                        
   End Sub
End Module
' The example displays the following output:
'    Original date: 09/08/2014 04:00:00 (635,457,888,000,000,000 ticks)
'
'    Second date:   09/08/2014 04:00:30 (635,457,888,300,000,000 ticks)
'    Difference between dates: 00:00:30 (300,000,000 ticks)
'
'    Third date:    09/09/2014 04:00:00 (635,458,752,000,000,000 ticks)
'    Difference between dates: 1.00:00:00 (864,000,000,000 ticks)

Комментарии

Этот метод не изменяет значение этого DateTimeметода. Вместо этого он возвращает новое DateTime значение, значение которого является результатом этой операции.

Дробная часть является дробной частью value секунды. Например, 4,5 эквивалентно 4 секундам, 500 миллисекундам и 0 галкам.

В .NET Framework value параметр округляется до ближайшей миллисекунда. В .NET 7 и более поздних версиях используется полная Double точность value параметра. Тем не менее, из-за присущей непреднастойности математики с плавающей запятой результирующая точность будет отличаться.

Применяется к

См. также раздел