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
Lepaskan: 2024-12-30 22:55:10
asal
571 orang telah melayarinya

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);
Salin selepas log masuk

"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;
Salin selepas log masuk

"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);
Salin selepas log masuk

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);
}
Salin selepas log masuk

Penggunaan Contoh

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

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan