blu*_*utt 4 .net c# string datetime locale
我有一些代码从胖客户端应用程序中以格式记录时间戳
DateTime.UtcNow.ToString("MM/dd/yy HH:mm:ss")
Run Code Online (Sandbox Code Playgroud)
现在,在中国运行的客户端上(不确定确切的语言环境),这会在日志中生成一个日期格式为
11-20-13 02:14:03
Run Code Online (Sandbox Code Playgroud)
我注意到它使用 - 而不是 / 来分隔部分,即使我明确想要 /
我尝试将当前文化设置为简体中文 zh-CN,但无法重现远程客户端如何生成该字符串
当前的文化语言环境是否会影响此格式字符串的输出?或者/有我不知道的其他含义吗?
是的,该/字符是当前文化用来分隔日期部分的任何内容的占位符。从MSDN:
“/”自定义格式说明符表示日期分隔符,用于区分年、月和日。从当前或指定区域性的 DateTimeFormatInfo.DateSeparator 属性中检索适当的本地化日期分隔符。
与其他格式说明符,你可以摆脱/一个\:
DateTime.UtcNow.ToString(@"MM\/dd\/yy HH\:mm\:ss")
Run Code Online (Sandbox Code Playgroud)
或者在格式化字符串时指定显式区域性:
DateTime.UtcNow.ToString("MM/dd/yy HH:mm:ss", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2183 次 |
| 最近记录: |