DateTime.AddSeconds(Double) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un nuovo oggetto DateTime che aggiunge il numero specificato di secondi al valore di questa istanza.
public:
DateTime AddSeconds(double value);
public DateTime AddSeconds (double value);
member this.AddSeconds : double -> DateTime
Public Function AddSeconds (value As Double) As DateTime
Parametri
- value
- Double
Numero di secondi interi e frazionari. Il parametro value
può essere negativo o positivo.
Restituisce
Oggetto il cui valore è la somma della data e dell'ora rappresentate dall'istanza e del numero di secondi rappresentato da value
.
Eccezioni
Il risultato DateTime è minore di DateTime.MinValue o maggiore di DateTime.MaxValue.
Esempio
Nell'esempio seguente viene utilizzato il AddSeconds metodo per aggiungere 30 secondi e il numero di secondi in un giorno a un DateTime valore. Visualizza quindi ogni nuovo valore e visualizza la differenza tra di essa e il valore originale. La differenza viene visualizzata sia come intervallo di tempo che come numero di tick.
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)
Commenti
Questo metodo non modifica il valore di .DateTime Restituisce invece un nuovo DateTime valore il cui valore è il risultato di questa operazione.
La parte frazionaria di value
è la parte frazionaria di un secondo. Ad esempio, 4,5 equivale a 4 secondi, 500 millisecondi e 0 tick.
In .NET 6 e versioni precedenti il value
parametro viene arrotondato al millisecondo più vicino. In .NET 7 e versioni successive viene usata la precisione completa Double del value
parametro. Tuttavia, a causa dell'inesattezza intrinseca della matematica a virgola mobile, la precisione risultante varia.