44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
namespace Utility
|
|
{
|
|
public enum Weekday
|
|
{
|
|
Monday = 0,
|
|
Tuesday = 1,
|
|
Wednesday = 2,
|
|
Thursday = 3,
|
|
Friday = 4,
|
|
Saturday = 5,
|
|
Sunday = 6
|
|
}
|
|
|
|
public static class WeekdayExtension
|
|
{
|
|
/// <summary>
|
|
/// Gibt den Wochentag zurück, der auf den gegebenen Wochentag folgt.
|
|
/// </summary>
|
|
public static Weekday GetNext(this Weekday current) => GetFutureDay(current, 1);
|
|
|
|
/// <summary>
|
|
/// Gibt den Wochentag zurück, der in der gegebenen Anzahl an Tagen auf den gegebenen Wochentag folgt.
|
|
/// </summary>
|
|
/// <param name="current">Der aktuelle Wochentag.</param>
|
|
/// <param name="days">Die Anzahl an Tagen, die vergehen sollen.</param>
|
|
public static Weekday GetFutureDay(this Weekday current, int days) =>
|
|
(Weekday)(((int)current + days) % 7);
|
|
|
|
/// <summary>
|
|
/// Gibt den deutschen Namen des Wochentags zurück.
|
|
/// </summary>
|
|
public static string GetName(this Weekday weekday) => weekday switch
|
|
{
|
|
Weekday.Monday => "Montag",
|
|
Weekday.Tuesday => "Dienstag",
|
|
Weekday.Wednesday => "Mittwoch",
|
|
Weekday.Thursday => "Donnerstag",
|
|
Weekday.Friday => "Freitag",
|
|
Weekday.Saturday => "Samstag",
|
|
Weekday.Sunday => "Sonntag",
|
|
_ => "Unbekannt"
|
|
};
|
|
}
|
|
} |