dotnet / dotnet/docs

"(:ss|:s)" regex in the milliseconds example does not match FullDateTimePattern in all cultures

Open
#40,356 6 comments 0 reactions 0 assignees View on GitHub
dotnet-fundamentals/svc okr-quality
Dominant language
No language data
Stars
4.8k
Forks
6.1k
Avg merge
15h 21m
Merged PRs (30d)
370

Description

### Type of issue

Code doesn't work

### Description

In "How to: Display milliseconds in date and time values", the example inserts a milliseconds format specifier into the format string by searching for the "(:ss|:s)" regular expression in DateTimeFormatInfo.FullDateTimePattern:

In some cultures however, DateTimeFormatInfo.FullDateTimePattern does not contain any colons and the regex thus won't match. The sample code won't display any milliseconds in those cultures. With .NET 8.0.1 on Windows, those cultures are:

|Name |EnglishName |FullDateTimePattern |LongTimePattern |
|------|-----------------------|---------------------------------------|----------------------|
|as-IN |Assamese (India) |dddd, d MMMM, yyyy tt h.mm.ss |tt h.mm.ss |
|da-DK |Danish (Denmark) |dddd 'den' d. MMMM yyyy HH.mm.ss |HH.mm.ss |
|da-GL |Danish (Greenland) |dddd 'den' d. MMMM yyyy HH.mm.ss |HH.mm.ss |
|en-DK |English (Denmark) |dddd, d MMMM yyyy HH.mm.ss |HH.mm.ss |
|en-FI |English (Finland) |dddd, d MMMM yyyy H.mm.ss |H.mm.ss |
|fi-FI |Finnish (Finland) |dddd d. MMMM yyyy H.mm.ss |H.mm.ss |
|fr-CA |French (Canada) |dddd d MMMM yyyy HH 'h' mm 'min' ss 's'|HH 'h' mm 'min' ss 's'|
|id-ID |Indonesian (Indonesia) |dddd, dd MMMM yyyy HH.mm.ss |HH.mm.ss |
|kl-GL |Kalaallisut (Greenland)|yyyy MMMM d, dddd HH.mm.ss |HH.mm.ss |
|si-LK |Sinhala (Sri Lanka) |yyyy MMMM d, dddd HH.mm.ss |HH.mm.ss |
|smn-FI|Inari Sami (Finland) |dddd, MMMM d. yyyy H.mm.ss |H.mm.ss |

This caused bug in the .NET Aspire dashboard.

Please correct the example so that it detects the seconds format specifier in these cultures too.

### Page URL

https://learn.microsoft.com/en-us/dotnet/standard/base-types/how-to-display-milliseconds-in-date-and-time-values

### Content source URL

https://github.com/dotnet/docs/blob/main/docs/standard/base-types/how-to-display-milliseconds-in-date-and-time-values.md

### Document Version Independent Id

80f9e353-0de8-c715-233e-033e6dd3c375

### Article author

@adegeo

### Metadata

* ID: 2691d246-9d0a-5714-a3a3-19aabfb3c5cd
* Service: **dotnet-fundamentals**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.