DateTimeOffset.AddDays(Double) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan objek baru DateTimeOffset yang menambahkan jumlah hari keseluruhan dan pecahan tertentu ke nilai instans ini.
public:
DateTimeOffset AddDays(double days);
public DateTimeOffset AddDays (double days);
member this.AddDays : double -> DateTimeOffset
Public Function AddDays (days As Double) As DateTimeOffset
Parameter
- days
- Double
Sejumlah hari utuh dan pecahan. Angkanya bisa negatif atau positif.
Mengembalikan
Objek yang nilainya adalah jumlah tanggal dan waktu yang diwakili oleh objek saat ini DateTimeOffset dan jumlah hari yang diwakili oleh days
.
Pengecualian
Nilai yang DateTimeOffset dihasilkan kurang dari DateTimeOffset.MinValue.
-atau-
Nilai yang DateTimeOffset dihasilkan lebih besar dari DateTimeOffset.MaxValue.
Contoh
Contoh berikut menggunakan AddDays metode untuk mencantumkan tanggal yang jatuh pada hari Senin, awal minggu kerja, pada Maret 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
Keterangan
Bagian pecahan dari days
parameter adalah bagian pecahan dari sehari. Misalnya, 4,5 setara dengan 4 hari, 12 jam, 0 menit, 0 detik, 0 milidetik.
Dalam .NET 6 dan versi yang lebih lama, parameter dibulatkan days
ke milidetik terdekat. Dalam .NET 7 dan versi yang lebih baru, presisi days
penuh Double parameter digunakan. Namun, karena impresi matematika floating point yang melekat, presisi yang dihasilkan akan bervariasi.
Catatan
Metode ini mengembalikan objek baru DateTimeOffset . Ini tidak mengubah nilai objek saat ini dengan menambahkan days
ke tanggal dan waktunya.
DateTimeOffset Karena objek tidak mewakili tanggal dan waktu di zona waktu tertentu, AddDays metode ini tidak mempertimbangkan aturan penyesuaian zona waktu tertentu saat melakukan aritmatika tanggal dan waktu.
Mengonversi interval waktu kurang dari sehari menjadi pecahan dapat melibatkan hilangnya presisi. Jika ini bermasalah, Anda dapat menggunakan Add metode , yang memungkinkan Anda menentukan lebih dari satu jenis interval waktu dalam satu panggilan metode dan menghilangkan kebutuhan untuk mengonversi interval waktu menjadi bagian pecahan sehari.