[英]In Blazor WebAssembly in a component, how can I make DateTime.ToString use the date format of the current culture, assuming the culture is correct?
[英]Is a DateTime.ToString format expression affected by the current culture locale?
我有一些代碼正在從胖客戶端應用程序中記錄格式的時間戳
DateTime.UtcNow.ToString("MM/dd/yy HH:mm:ss")
現在,在中國運行的客戶端(不確定究竟是哪個語言環境),這將在日志中使用格式生成日期
11-20-13 02:14:03
我注意到它正在使用 - 而不是/來划分部分,即使我明確想要/
我試圖將當前文化設置為中文簡體zh-CN但我無法重現遠程客戶端如何生成該字符串
當前區域性區域設置是否會影響此格式字符串的輸出? 或者是否有其他一些我不知道的含義?
是的, /
字符是占位符,用於當前文化用於分隔日期部分的任何內容。 來自MSDN :
“/”自定義格式說明符表示日期分隔符,用於區分年,月和日。 從當前或指定區域性的DateTimeFormatInfo.DateSeparator屬性中檢索適當的本地化日期分隔符。
與其他格式說明符一樣,您可以使用\\
來轉義/
:
DateTime.UtcNow.ToString(@"MM\/dd\/yy HH\:mm\:ss")
或者在格式化字符串時指定顯式文化:
DateTime.UtcNow.ToString("MM/dd/yy HH:mm:ss", CultureInfo.InvariantCulture)
是的,這就是它的工作原理。 /
正在被本地日期分隔符替換。 這同樣適用於:
作為時間分隔符。 您可以在MSDN上找到更多信息: 自定義日期和時間格式字符串 。
要改變它,用\\
逃避它們:
DateTime.UtcNow.ToString(@"MM\/dd\/yy HH\:mm\:ss")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.