Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengira Tarikh Hari Minggu Seterusnya dalam .NET?

Bagaimanakah Saya Boleh Mengira Tarikh Hari Minggu Seterusnya dalam .NET?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 22:55:10586semak imbas

How Can I Calculate the Date of the Next Weekday in .NET?

Menentukan Tarikh Hari Minggu Akan Datang dalam .NET

Konsep "hari minggu berikutnya" boleh menjadi samar-samar, kerana ia bergantung kepada hari semasa dalam seminggu. Berikut ialah beberapa cara untuk mendekati ini dalam C# menggunakan perpustakaan .NET:

"Selasa Seterusnya Akan Berlaku, atau Hari Ini jika Sudah Hari Selasa"

Pendekatan ini mengembalikan hari Selasa terdekat, iaitu sama ada hari ini atau tarikh akan datang:

DateTime today = DateTime.Today;
int daysUntilTuesday = ((int)DayOfWeek.Tuesday - (int)today.DayOfWeek + 7) % 7;
DateTime nextTuesday = today.AddDays(daysUntilTuesday);

"Masa Seminggu dari Sekarang, Genap jika sudah hari Selasa"

Pendekatan ini kembali pada hari Selasa berikutnya, tetapi melangkau seminggu jika sudah Selasa:

int daysUntilTuesday = (((int)DayOfWeek.Monday - (int)today.DayOfWeek + 7) % 7) + 1;

"Esok atau Selasa Seterusnya akan Berlaku , atau Esok jika Hari Selasa"

Pendekatan ini kembali pada Selasa berikutnya, tetapi bermula dari esok untuk mengelakkan kelewatan minggu tambahan:

DateTime tomorrow = DateTime.Today.AddDays(1);
int daysUntilTuesday = ((int)DayOfWeek.Tuesday - (int)tomorrow.DayOfWeek + 7) % 7;
DateTime nextTuesday = tomorrow.AddDays(daysUntilTuesday);

Kaedah Serbaguna untuk Mana-mana Hari Minggu

Untuk mengendalikan mana-mana hari bekerja, buat kaedah generik GetNextWeekday yang mengambil DateTime dan DayOfWeek sebagai input :

public static DateTime GetNextWeekday(DateTime start, DayOfWeek day)
{
    int daysToAdd = ((int) day - (int) start.DayOfWeek + 7) % 7;
    return start.AddDays(daysToAdd);
}

Penggunaan Contoh

  • Hari ini atau dalam 6 hari seterusnya:
DateTime nextTuesday = GetNextWeekday(DateTime.Today, DayOfWeek.Tuesday);
  • Selasa depan tidak termasuk hari ini:
DateTime nextTuesday = GetNextWeekday(DateTime.Today.AddDays(1), DayOfWeek.Tuesday);

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Tarikh Hari Minggu Seterusnya dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn