< Summary

Information
Class: OzonDomains.DateTimeAbbreviationService
Assembly: OzonDomains
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/DateTimeAbbreviationService.cs
Line coverage
92%
Covered lines: 13
Uncovered lines: 1
Coverable lines: 14
Total lines: 55
Line coverage: 92.8%
Branch coverage
100%
Covered branches: 6
Total branches: 6
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()100%11100%
GetMonthAbbreviation(...)100%66100%
GetMonthAbbreviation(...)100%11100%
FormatDayMonth(...)100%11100%
FormatDayMonthYear(...)100%11100%
FormatTime(...)100%11100%
FormatFullDateTime(...)100%210%
FormatFullDate(...)100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/DateTimeAbbreviationService.cs

#LineLine coverage
 1using System.Globalization;
 2
 3namespace OzonDomains;
 4
 5/// <summary>
 6/// Сокращения для компактного вывода дат и времени в UI (таблицы, списки).
 7/// </summary>
 8public static class DateTimeAbbreviationService
 9{
 110    private static readonly string[] MonthAbbreviations =
 111    {
 112        "янв", "фев", "мар", "апр", "май", "июн",
 113        "июл", "авг", "сен", "окт", "ноя", "дек"
 114    };
 15
 16    public static string GetMonthAbbreviation(int month)
 17    {
 4618        if (month is < 1 or > 12)
 219            throw new ArgumentOutOfRangeException(nameof(month), month, "Month must be between 1 and 12.");
 20
 4421        return MonthAbbreviations[month - 1];
 22    }
 23
 3924    public static string GetMonthAbbreviation(DateTime date) => GetMonthAbbreviation(date.Month);
 25
 26    /// <summary>День и месяц: «8 мар», «14 авг».</summary>
 27    public static string FormatDayMonth(DateTime date)
 28    {
 3729        return $"{date.Day} {GetMonthAbbreviation(date)}";
 30    }
 31
 32    /// <summary>День, месяц и год: «31 дек 2025».</summary>
 33    public static string FormatDayMonthYear(DateTime date)
 34    {
 235        return $"{date.Day} {GetMonthAbbreviation(date)} {date.Year}";
 36    }
 37
 38    /// <summary>Время без секунд: «09:05».</summary>
 39    public static string FormatTime(DateTime date)
 40    {
 241        return date.ToString("HH:mm", CultureInfo.InvariantCulture);
 42    }
 43
 44    /// <summary>Полная дата для tooltip: «31.12.2025 09:05:00».</summary>
 45    public static string FormatFullDateTime(DateTime date)
 46    {
 047        return date.ToString("dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);
 48    }
 49
 50    /// <summary>Полная дата: «19.06.2026».</summary>
 51    public static string FormatFullDate(DateTime date)
 52    {
 1053        return date.ToString("dd.MM.yyyy", CultureInfo.GetCultureInfo("ru-RU"));
 54    }
 55}