Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Lấy ngày mai (ngày tiếp theo) trong C#


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ứcMô 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.
  • AddMonths xử 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.Now nế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);