我可以获取其他语言的"YYYY-MM-DD"字符串吗?



我需要在查询编辑器中将"YYYY-MM-DD"显示为模板,以便用户知道如何格式化日期。但是由于该应用程序是多语言的,因此我认为如果我为每种语言显示此字符串会更容易理解。

所以对于德语来说,它必须是:"JJJJ-MM-TT">

有没有办法在 C# 中自动获取这些字符串?

我不相信你问的东西是开箱即用的,如果你检查MSDN,你可以看到只有特定的字符文字是为解释字符串时使用的DateTime格式化程序保留的。任何其他字符文本将按原样包含在最终的 DateTime 字符串中(假设您的 DateTime 已成功解析(。

但是,您可以将扩展函数引入 DateTime/String,这些函数采用 CultureInfo 并将类似 "JJJJ-MM-TT" 的字符串映射到 "YYYY-MM-DD",然后将映射的字符串传递给 DateTime 格式化程序。

您可以尝试在应用程序中支持的每个不同 CultureInfo 中提供自定义 DateTime 格式化程序,但仍然将像"JJJJ-MM-TT"这样的字符串传递给本机 DateTime 格式化程序不会给你所需的结果,而不会将其映射到可分析的格式。

如果你的问题只是问如何向用户显示"JJJJ-MM-TT",但在解析字符串时仍然使用"YYYY-MM-DD",那么你只需要引入应用程序中支持的不同 CultureInfo 的映射以及你想要向用户显示的字符串,然后在呈现查询编辑器时,查找 CultureInfo 并获取所需的字符串。仍然没有开箱即用的支持。

不幸的是,不,没有内置任何东西。

您必须手动本地化它,就像本地化应用程序中所有其他字符串一样(例如,使用资源文件(。

最新更新