Sdílet prostřednictvím


DateTime.AddSeconds(Double) Metoda

Definice

Vrátí nový DateTime , který přidá zadaný počet sekund k hodnotě této instance.

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

Parametry

value
Double

Počet celých a zlomkových sekund. Parametr value může být záporný nebo kladný.

Návraty

Objekt, jehož hodnota je součet data a času reprezentovaných touto instancí a počtu sekund reprezentovaných hodnotou value.

Výjimky

Výsledná hodnota DateTime je menší než DateTime.MinValue nebo větší než DateTime.MaxValue.

Příklady

Následující příklad používá metodu AddSeconds k přidání 30 sekund a počtu sekund za jeden den k hodnotě DateTime . Pak zobrazí každou novou hodnotu a zobrazí rozdíl mezi ní a původní hodnotou. Rozdíl se zobrazuje jak jako časový rozsah, tak jako počet zaškrtnutých hodnot.

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)

Poznámky

Tato metoda nezmění hodnotu této DateTimemetody . Místo toho vrátí novou DateTime hodnotu, jejíž hodnota je výsledkem této operace.

Zlomková část value je zlomková část sekundy. Například hodnota 4,5 odpovídá 4 sekundám, 500 milisekundám a 0 tisekundám.

V .NET 6 a starších verzích value se parametr zaokrouhlí na nejbližší milisekundu. V .NET 7 a novějších verzích se používá úplná Double přesnost parametru value . Vzhledem k inherentní nepřesnosti matematiky s plovoucí desetinou čárkou se však výsledná přesnost bude lišit.

Platí pro

Viz také