DateTimeOffset.AddDays(Double) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí nový DateTimeOffset objekt, který k hodnotě této instance přidá zadaný počet celých a zlomkových dnů.
public:
DateTimeOffset AddDays(double days);
public DateTimeOffset AddDays (double days);
member this.AddDays : double -> DateTimeOffset
Public Function AddDays (days As Double) As DateTimeOffset
Parametry
- days
- Double
Počet celých a zlomkových dnů. Číslo může být záporné nebo kladné.
Návraty
Objekt, jehož hodnota je součet data a času reprezentovaných aktuálním DateTimeOffset objektem a počtu dnů reprezentovaných objektem days
.
Výjimky
Výsledná DateTimeOffset hodnota je menší než DateTimeOffset.MinValue.
-nebo-
Výsledná DateTimeOffset hodnota je větší než DateTimeOffset.MaxValue.
Příklady
Následující příklad používá metodu AddDays k výpisu dat, která spadají na pondělí, začátek pracovního týdne, v březnu 2008.
DateTimeOffset workDay = new DateTimeOffset(2008, 3, 1, 9, 0, 0,
DateTimeOffset.Now.Offset);
int month = workDay.Month;
// Start with the first Monday of the month
if (workDay.DayOfWeek != DayOfWeek.Monday)
{
if (workDay.DayOfWeek == DayOfWeek.Sunday)
workDay = workDay.AddDays(1);
else
workDay = workDay.AddDays(8 - (int)workDay.DayOfWeek);
}
Console.WriteLine("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay);
// Add one week to the current date
do
{
Console.WriteLine(" {0:dddd}, {0:MMMM}{0: d}", workDay);
workDay = workDay.AddDays(7);
} while (workDay.Month == month);
// The example produces the following output:
// Beginning of Work Week In March 2008:
// Monday, March 3
// Monday, March 10
// Monday, March 17
// Monday, March 24
// Monday, March 31
let workDay = DateTimeOffset(2008, 3, 1, 9, 0, 0, DateTimeOffset.Now.Offset)
let month = workDay.Month
// Start with the first Monday of the month
let mutable workDay =
match workDay.DayOfWeek with
| DayOfWeek.Monday ->
workDay
| DayOfWeek.Sunday ->
workDay.AddDays 1
| _ ->
workDay.AddDays(8. - float workDay.DayOfWeek)
printfn $"Beginning of Work Week In {workDay:MMMM} {workDay:yyyy}:"
// Add one week to the current date
while workDay.Month = month do
printfn $" {workDay:dddd}, {workDay:MMMM}{workDay: d}"
workDay <- workDay.AddDays 7
// The example produces the following output:
// Beginning of Work Week In March 2008:
// Monday, March 3
// Monday, March 10
// Monday, March 17
// Monday, March 24
// Monday, March 31
Dim workDay As New DateTimeOffset(#3/1/2008 9:00AM#, _
DateTimeOffset.Now.Offset)
Dim month As Integer = workDay.Month
' Start with the first Monday of the month
If workDay.DayOfWeek <> DayOfWeek.Monday Then
If workDay.DayOfWeek = DayOfWeek.Sunday Then
workDay = workDay.AddDays(1)
Else
workDay = workDay.AddDays(8 - CInt(workDay.DayOfWeek))
End If
End If
Console.WriteLine("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay)
' Add one week to the current date
Do While workDay.Month = month
Console.WriteLine(" {0:dddd}, {0:MMMM}{0: d}", workDay)
workDay = workDay.AddDays(7)
Loop
' The example produces the following output:
' Beginning of Work Week In March 2008:
' Monday, March 3
' Monday, March 10
' Monday, March 17
' Monday, March 24
' Monday, March 31
Poznámky
Zlomková část parametru days
je zlomková část dne. Například hodnota 4,5 odpovídá 4 dnům, 12 hodin, 0 minut, 0 sekund a 0 milisekund.
V .NET 6 a starších verzích days
se parametr zaokrouhlí na nejbližší milisekundu. V .NET 7 a novějších verzích se používá úplná Double přesnost parametru days
. Vzhledem k inherentní nepřesnosti matematiky s plovoucí desetinou čárkou se však výsledná přesnost bude lišit.
Poznámka
Tato metoda vrátí nový DateTimeOffset objekt. Neupravuje hodnotu aktuálního objektu přidáním days
k jeho datu a času.
Vzhledem k tomu, že DateTimeOffset objekt nepředstavuje datum a čas v určitém časovém pásmu AddDays , metoda nebere v úvahu pravidla úprav určitého časového pásma, když provádí aritmetické hodnoty data a času.
Převod časových intervalů kratších než jeden den na zlomek může znamenat ztrátu přesnosti. Pokud je to problematické, můžete použít metodu Add , která umožňuje určit více než jeden druh časového intervalu v jednom volání metody a eliminuje potřebu převádět časové intervaly na zlomkové části dne.