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 desetinný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 desetinných dnů. Číslo může být záporné nebo kladné.
Návraty
Objekt, jehož hodnota je součet data a času reprezentovaný aktuálním DateTimeOffset objektem a počtem dnů reprezentovaných 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 kalendářních dat, která spadají v pondělí, zahájení 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 4,5 odpovídá 4 dnům, 12 hodin, 0 minut, 0 sekund, 0 milisekund.
V rozhraní .NET Framework 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 nepřesnosti matematiky s plovoucí desetinnou čárkou se ale 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 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 úpravy konkrétního časového pásma, když provádí aritmetické datum a čas.
Převod časových intervalů kratších než jednoho dne na zlomek může zahrnovat ztrátu přesnosti. Pokud je to problematické, můžete použít metodu Add , která umožňuje zadat více než jeden druh časového intervalu v jednom volání metody a eliminuje nutnost převést časové intervaly na zlomkové části dne.