Giới thiệu
Phương thức DateTime.AddDays(double) trả về DateTime mới thêm/bớt số ngày cho trước. Dùng giá trị dương cho ngày tương lai, âm cho ngày quá khứ.
Ví dụ cơ bản
DateTime tomorrow = DateTime.Today.AddDays(1); DateTime yesterday = DateTime.Today.AddDays(-1);
Ví dụ hoàn chỉnh
using System;
public class Demo
{
public static void Main()
{
Console.WriteLine("Today = {0}", DateTime.Today);
Console.WriteLine("Previous Day = {0}", DateTime.Today.AddDays(-1));
Console.WriteLine("Next Day (Tomorrow) = {0}", DateTime.Today.AddDays(1));
}
}
Kết quả
Today = 9/4/2018 12:00:00 AM Previous Day = 9/3/2018 12:00:00 AM Next Day (Tomorrow) = 9/5/2018 12:00:00 AM
Các phương thức Add* liên quan
| Phương thức | Mô tả |
|---|---|
AddDays(double) | Thêm/bớt ngày |
AddHours(double) | Thêm/bớt giờ |
AddMinutes(double) | Thêm/bớt phút |
AddSeconds(double) | Thêm/bớt giây |
AddMonths(int) | Thêm/bớt tháng (xử lý ngày cuối tháng) |
AddYears(int) | Thêm/bớt năm |
Add(TimeSpan) | Thêm một TimeSpan |
Lưu ý quan trọng
- Tất cả phương thức
Add*trả về DateTime mới (immutable), không sửa đổi instance gốc. AddMonthsxử lý thông minh ngày cuối tháng: Jan 31 + 1 tháng = Feb 28/29.- Dùng
DateTime.Today(chỉ ngày, giờ = 00:00:00) thay vìDateTime.Nownếu chỉ quan tâm ngày. - Giá trị double cho phép thêm phần ngày (ví dụ: 0.5 = 12 giờ).
Ví dụ: Tìm thứ 7 tới
DateTime today = DateTime.Today; int daysUntilSaturday = ((int)DayOfWeek.Saturday - (int)today.DayOfWeek + 7) % 7; if (daysUntilSaturday == 0) daysUntilSaturday = 7; DateTime nextSaturday = today.AddDays(daysUntilSaturday);