< Summary - SonghayCore

Line coverage
0%
Covered lines: 0
Uncovered lines: 34
Coverable lines: 34
Total lines: 141
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 30
Branch coverage: 0%
Method coverage

Method coverage is only available for sponsors.

Upgrade to PRO version

Metrics

File(s)

/home/rasx/sourceRoot/SonghayCore/SonghayCore/Extensions/DateTimeExtensions.cs

#LineLine coverage
 1namespace Songhay.Extensions;
 2
 3/// <summary>
 4/// Extensions of <see cref="DateTime"/>.
 5/// </summary>
 6public static partial class DateTimeExtensions
 7{
 8    /// <summary>
 9    /// Gets the next weekday.
 10    /// </summary>
 11    /// <param name="start">The start.</param>
 12    /// <param name="day">The day.</param>
 13    /// <remarks>
 14    /// by Jon Skeet
 15    ///
 16    /// For more detail, see:
 17    /// http://stackoverflow.com/questions/6346119/asp-net-get-the-next-tuesday
 18    /// </remarks>
 19    public static DateTime GetNextWeekday(this DateTime start, DayOfWeek day)
 020    {
 21        // The (... + 7) % 7 ensures we end up with a value in the range [0, 6]
 022        int daysToAdd = ((int) day - (int) start.DayOfWeek + 7) % 7;
 23
 024        return start.AddDays(daysToAdd);
 025    }
 26
 27    /// <summary>
 28    /// Converts the <see cref="DateTime"/> into a “pretty” date.
 29    /// </summary>
 30    /// <param name="date">The date.</param>
 31    /// <remarks>
 32    /// This member was taken from NBlog developer, Chris Fulstow.
 33    /// [https://github.com/ChrisFulstow/NBlog/blob/master/NBlog.Web/Application/Infrastructure/DateExtensions.cs]
 34    /// </remarks>
 35    [Obsolete("Use https://www.nuget.org/packages/Humanizer.Core/ instead.")]
 36    public static string ToPrettyDate(this DateTime date)
 037    {
 038        var timeSince = DateTime.Now.Subtract(date);
 039        if (timeSince.TotalMilliseconds < 1) return "not yet";
 040        if (timeSince.TotalMinutes < 1) return "just now";
 041        if (timeSince.TotalMinutes < 2) return "1 minute ago";
 042        if (timeSince.TotalMinutes < 60) return $"{timeSince.Minutes} minutes ago";
 043        if (timeSince.TotalMinutes < 120) return "1 hour ago";
 044        if (timeSince.TotalHours < 24) return $"{timeSince.Hours} hours ago";
 045        if (timeSince.TotalDays >= 1 && timeSince.TotalDays <= 2) return "yesterday";
 046        if (timeSince.TotalDays < 7) return $"{timeSince.Days} day(s) ago";
 047        if (timeSince.TotalDays < 14) return "last week";
 048        if (timeSince.TotalDays < 21) return "2 weeks ago";
 049        if (timeSince.TotalDays < 28) return "3 weeks ago";
 050        if (timeSince.TotalDays < 60) return "last month";
 051        if (timeSince.TotalDays < 365) return $"{Math.Round(timeSince.TotalDays / 30)} months ago";
 052        if (timeSince.TotalDays < 730) return "last year";
 53
 054        return $"{Math.Round(timeSince.TotalDays / 365)} years ago";
 055    }
 56}

/home/rasx/sourceRoot/SonghayCore/SonghayCore/Extensions/DateTimeExtensions.MonthNames.cs

#LineLine coverage
 1namespace Songhay.Extensions;
 2
 3/// <summary>
 4/// Extensions of <see cref="DateTime"/>.
 5/// </summary>
 6/// <remarks>
 7/// From Jon Skeet’s Miscellaneous Utility Library
 8/// Copyright (c) 2004-2008 Jon Skeet and Marc Gravell.
 9/// All rights reserved.
 10/// [http://www.pobox.com/~skeet/csharp/miscutil]
 11/// </remarks>
 12public static partial class DateTimeExtensions
 13{
 14    /// <summary>
 15    /// Returns a DateTime representing the specified day in January
 16    /// in the specified year.
 17    /// </summary>
 018    public static DateTime January(this int day, int year) => new DateTime(year, 1, day);
 19
 20    /// <summary>
 21    /// Returns a DateTime representing the specified day in February
 22    /// in the specified year.
 23    /// </summary>
 024    public static DateTime February(this int day, int year) => new DateTime(year, 2, day);
 25
 26    /// <summary>
 27    /// Returns a DateTime representing the specified day in March
 28    /// in the specified year.
 29    /// </summary>
 030    public static DateTime March(this int day, int year) => new DateTime(year, 3, day);
 31
 32    /// <summary>
 33    /// Returns a DateTime representing the specified day in April
 34    /// in the specified year.
 35    /// </summary>
 036    public static DateTime April(this int day, int year) => new DateTime(year, 4, day);
 37
 38    /// <summary>
 39    /// Returns a DateTime representing the specified day in May
 40    /// in the specified year.
 41    /// </summary>
 042    public static DateTime May(this int day, int year) => new DateTime(year, 5, day);
 43
 44    /// <summary>
 45    /// Returns a DateTime representing the specified day in June
 46    /// in the specified year.
 47    /// </summary>
 048    public static DateTime June(this int day, int year) => new DateTime(year, 6, day);
 49
 50    /// <summary>
 51    /// Returns a DateTime representing the specified day in July
 52    /// in the specified year.
 53    /// </summary>
 054    public static DateTime July(this int day, int year) => new DateTime(year, 7, day);
 55
 56    /// <summary>
 57    /// Returns a DateTime representing the specified day in August
 58    /// in the specified year.
 59    /// </summary>
 060    public static DateTime August(this int day, int year) => new DateTime(year, 8, day);
 61
 62    /// <summary>
 63    /// Returns a DateTime representing the specified day in September
 64    /// in the specified year.
 65    /// </summary>
 066    public static DateTime September(this int day, int year) => new DateTime(year, 9, day);
 67
 68    /// <summary>
 69    /// Returns a DateTime representing the specified day in October
 70    /// in the specified year.
 71    /// </summary>
 072    public static DateTime October(this int day, int year) => new DateTime(year, 10, day);
 73
 74    /// <summary>
 75    /// Returns a DateTime representing the specified day in November
 76    /// in the specified year.
 77    /// </summary>
 078    public static DateTime November(this int day, int year) => new DateTime(year, 11, day);
 79
 80    /// <summary>
 81    /// Returns a DateTime representing the specified day in December
 82    /// in the specified year.
 83    /// </summary>
 084    public static DateTime December(this int day, int year) => new DateTime(year, 12, day);
 85}