119 references to TimeFormat
Aspire.Dashboard (27)
Components\Dialogs\SettingsDialog.razor.cs (5)
18
private
TimeFormat
_timeFormat;
130
private string FormatTimeFormatOption(
TimeFormat
format) => format switch
132
TimeFormat
.System => Loc[nameof(Dashboard.Resources.Dialogs.SettingsDialogTimeFormatSystem)],
133
TimeFormat
.TwelveHour => Loc[nameof(Dashboard.Resources.Dialogs.SettingsDialogTimeFormatTwelveHour)],
134
TimeFormat
.TwentyFourHour => Loc[nameof(Dashboard.Resources.Dialogs.SettingsDialogTimeFormatTwentyFourHour)],
Components\Layout\MainLayout.razor.cs (3)
115
TimeProvider.SetBrowserTimeFormat(result.Is24HourTime ?
TimeFormat
.TwentyFourHour :
TimeFormat
.TwelveHour);
118
var timeFormatResult = await LocalStorage.GetAsync<
TimeFormat
>(BrowserStorageKeys.TimeFormat);
Model\BrowserTimeProvider.cs (8)
19
private
TimeFormat
? _browserTimeFormat;
21
public
TimeFormat
ConfiguredTimeFormat { get; set; } =
TimeFormat
.System;
45
public
TimeFormat
ResolvedTimeFormat
49
if (ConfiguredTimeFormat ==
TimeFormat
.System)
51
return _browserTimeFormat ??
TimeFormat
.System;
58
public void SetBrowserTimeFormat(
TimeFormat
timeFormat)
63
public void SetConfiguredTimeFormat(
TimeFormat
timeFormat)
src\Shared\DateFormatStringsHelpers.cs (6)
15
private readonly record struct CultureDetailsKey(string LongTimePattern, string ShortDatePattern, string NumberDecimalSeparator,
TimeFormat
timeFormat);
38
private static MillisecondFormatStrings GetDateFormatStrings(CultureInfo cultureInfo,
TimeFormat
timeFormat)
72
TimeFormat
.TwelveHour => ConvertTo12Hour(longTimePattern),
73
TimeFormat
.TwentyFourHour => ConvertTo24Hour(longTimePattern),
111
internal static string GetLongTimePattern(CultureInfo cultureInfo,
TimeFormat
timeFormat, MillisecondsDisplay millisecondsDisplay)
114
internal static string GetShortDateLongTimePattern(CultureInfo cultureInfo,
TimeFormat
timeFormat, MillisecondsDisplay millisecondsDisplay)
src\Shared\FormatHelpers.cs (5)
25
TimeFormat
ResolvedTimeFormat { get; }
48
var
timeFormat = GetResolvedTimeFormat(timeProvider);
58
var
timeFormat = GetResolvedTimeFormat(timeProvider);
64
private static
TimeFormat
GetResolvedTimeFormat(TimeProvider timeProvider)
71
return
TimeFormat
.System;
Aspire.Dashboard.Tests (92)
FormatHelpersTests.cs (92)
37
[InlineData("06/15/2009 13:45:30.000", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour)]
38
[InlineData("06/15/2009 13:45:30.123", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
39
[InlineData("06/15/2009 13:45:30.1234567", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
40
[InlineData("06/15/2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour)]
41
[InlineData("06/15/2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
42
[InlineData("06/15/2009 1:45:30.000 PM", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour)]
43
[InlineData("06/15/2009 1:45:30.123 PM", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
44
[InlineData("06/15/2009 1:45:30.1234567 PM", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
45
[InlineData("06/15/2009 1:45:30 PM", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour)]
46
[InlineData("06/15/2009 1:45:30 PM", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
47
[InlineData("06/15/2009 13:45:30.000", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.System)]
48
[InlineData("06/15/2009 13:45:30.123", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
49
[InlineData("06/15/2009 13:45:30.1234567", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
50
[InlineData("06/15/2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.System)]
51
[InlineData("06/15/2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
52
public void FormatDateTime_WithMilliseconds_InvariantCulture(string expected, MillisecondsDisplay includeMilliseconds, string value,
TimeFormat
timeFormat)
61
[InlineData("15.06.2009 13:45:30,000", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour)]
62
[InlineData("15.06.2009 13:45:30,123", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
63
[InlineData("15.06.2009 13:45:30,1234567", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
64
[InlineData("15.06.2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour)]
65
[InlineData("15.06.2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
66
[InlineData("15.06.2009 1:45:30,000 PM", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour)]
67
[InlineData("15.06.2009 1:45:30,123 PM", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
68
[InlineData("15.06.2009 1:45:30,1234567 PM", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
69
[InlineData("15.06.2009 1:45:30 PM", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour)]
70
[InlineData("15.06.2009 1:45:30 PM", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
71
[InlineData("15.06.2009 13:45:30,000", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.System)]
72
[InlineData("15.06.2009 13:45:30,123", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
73
[InlineData("15.06.2009 13:45:30,1234567", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
74
[InlineData("15.06.2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.System)]
75
[InlineData("15.06.2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
76
public void FormatDateTime_WithMilliseconds_GermanCulture(string expected, MillisecondsDisplay includeMilliseconds, string value,
TimeFormat
timeFormat)
85
[InlineData("15.6.2009 13.45.30,000", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour)]
86
[InlineData("15.6.2009 13.45.30,123", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
87
[InlineData("15.6.2009 13.45.30,1234567", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
88
[InlineData("15.6.2009 13.45.30", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour)]
89
[InlineData("15.6.2009 13.45.30", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
90
[InlineData("15.6.2009 1.45.30,000 ip.", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour)]
91
[InlineData("15.6.2009 1.45.30,123 ip.", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
92
[InlineData("15.6.2009 1.45.30,1234567 ip.", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
93
[InlineData("15.6.2009 1.45.30 ip.", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour)]
94
[InlineData("15.6.2009 1.45.30 ip.", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
95
[InlineData("15.6.2009 13.45.30,000", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.System)]
96
[InlineData("15.6.2009 13.45.30,123", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
97
[InlineData("15.6.2009 13.45.30,1234567", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
98
[InlineData("15.6.2009 13.45.30", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.System)]
99
[InlineData("15.6.2009 13.45.30", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
100
public void FormatDateTime_WithMilliseconds_FinnishCulture(string expected, MillisecondsDisplay includeMilliseconds, string value,
TimeFormat
timeFormat)
109
[InlineData("15/06/2009 1:45:30.000 pm", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour)]
110
[InlineData("15/06/2009 1:45:30.123 pm", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
111
[InlineData("15/06/2009 1:45:30.1234567 pm", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
112
[InlineData("15/06/2009 1:45:30 pm", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour)]
113
[InlineData("15/06/2009 1:45:30 pm", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwelveHour)]
114
[InlineData("15/06/2009 13:45:30.000", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour)]
115
[InlineData("15/06/2009 13:45:30.123", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
116
[InlineData("15/06/2009 13:45:30.1234567", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
117
[InlineData("15/06/2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour)]
118
[InlineData("15/06/2009 13:45:30", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.TwentyFourHour)]
119
[InlineData("15/06/2009 1:45:30.000 pm", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.System)]
120
[InlineData("15/06/2009 1:45:30.123 pm", MillisecondsDisplay.Truncated, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
121
[InlineData("15/06/2009 1:45:30.1234567 pm", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
122
[InlineData("15/06/2009 1:45:30 pm", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z",
TimeFormat
.System)]
123
[InlineData("15/06/2009 1:45:30 pm", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z",
TimeFormat
.System)]
124
public void FormatDateTime_WithMilliseconds_NewZealandCulture(string expected, MillisecondsDisplay includeMilliseconds, string value,
TimeFormat
timeFormat)
152
[InlineData("2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour, "1:45:30 PM")]
153
[InlineData("2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour, "13:45:30")]
154
public void FormatTime_WithTimeFormatPreference(string value,
TimeFormat
format, string expected)
161
var culture = format ==
TimeFormat
.TwelveHour ? CultureInfo.GetCultureInfo("de-DE") : CultureInfo.GetCultureInfo("en-US");
167
[InlineData("2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwelveHour, "6/15/2009 1:45:30 PM")] // en-US date pattern + 12h time
168
[InlineData("2009-06-15T13:45:30.0000000Z",
TimeFormat
.TwentyFourHour, "6/15/2009 13:45:30")] // en-US date pattern + 24h time
169
public void FormatDateTime_WithTimeFormatPreference_EnUS(string value,
TimeFormat
format, string expected)
179
[InlineData("fi-FI",
TimeFormat
.TwentyFourHour, MillisecondsDisplay.None, "15.6.2009 13.45.30")]
180
[InlineData("fi-FI",
TimeFormat
.TwentyFourHour, MillisecondsDisplay.Truncated, "15.6.2009 13.45.30,123")]
181
[InlineData("fi-FI",
TimeFormat
.TwelveHour, MillisecondsDisplay.None, "15.6.2009 1.45.30 ip.")]
182
[InlineData("fi-FI",
TimeFormat
.TwelveHour, MillisecondsDisplay.Truncated, "15.6.2009 1.45.30,123 ip.")]
183
[InlineData("fi-FI",
TimeFormat
.System, MillisecondsDisplay.None, "15.6.2009 13.45.30")]
184
[InlineData("fi-FI",
TimeFormat
.System, MillisecondsDisplay.Truncated, "15.6.2009 13.45.30,123")]
185
[InlineData("de-DE",
TimeFormat
.TwentyFourHour, MillisecondsDisplay.Truncated, "15.06.2009 13:45:30,123")]
186
[InlineData("de-DE",
TimeFormat
.TwelveHour, MillisecondsDisplay.Truncated, "15.06.2009 1:45:30,123 PM")]
187
[InlineData("de-DE",
TimeFormat
.System, MillisecondsDisplay.Truncated, "15.06.2009 13:45:30,123")]
188
[InlineData("en-US",
TimeFormat
.TwentyFourHour, MillisecondsDisplay.Truncated, "6/15/2009 13:45:30.123")]
189
[InlineData("en-US",
TimeFormat
.TwelveHour, MillisecondsDisplay.Truncated, "6/15/2009 1:45:30.123 PM")]
190
[InlineData("en-US",
TimeFormat
.System, MillisecondsDisplay.Truncated, "6/15/2009 1:45:30.123 PM")]
191
public void FormatDateTime_WithTimeFormatPreference_UsesCultureSeparators(string cultureName,
TimeFormat
format, MillisecondsDisplay includeMilliseconds, string expected)
206
provider.SetConfiguredTimeFormat(
TimeFormat
.TwelveHour);
220
provider.SetConfiguredTimeFormat(
TimeFormat
.TwentyFourHour);
228
[InlineData(
TimeFormat
.TwentyFourHour, "13:45:30")] // Browser reports 24-hour → use 24-hour
229
[InlineData(
TimeFormat
.TwelveHour, "1:45:30 PM")] // Browser reports 12-hour → use 12-hour
230
public void FormatTime_SystemFormat_UsesBrowserTimeFormat(
TimeFormat
browserTimeFormat, string expected)
241
[InlineData(
TimeFormat
.TwentyFourHour, "6/15/2009 13:45:30")] // Browser reports 24-hour
242
[InlineData(
TimeFormat
.TwelveHour, "6/15/2009 1:45:30 PM")] // Browser reports 12-hour
243
public void FormatDateTime_SystemFormat_UsesBrowserTimeFormat(
TimeFormat
browserTimeFormat, string expected)