Bagikan melalui


DateTimeOffset.AddDays(Double) Metode

Definisi

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.

Berlaku untuk