我知道关于日期/数字的文化规则对整本书来说已经足够了,我想我有一个简单的问题。
使用InvariantCulture基本上意味着您显式地定义了值(日期/数字/什么)将被输入/显示为什么区域性吗?它会覆盖任何其他区域性设置(例如用户代理的设置)?
如果一个应用程序是为一种且只有一种文化的受众而构建的,那么使用InvariantCulture并定义每次输入/显示的值是否有意义?
发布于 2013-07-20 15:21:38
使用InvariantCulture基本上意味着您显式地定义了值(日期/数字/什么)将被输入/显示为什么区域性吗?
不是的。这只是一种文化,有点像美国英语,除了一些东西,如货币符号。它通常用于格式化/消费文本,这些文本是由另一台计算机而不是人类来理解或生成的。
如果一个应用程序是为一种且只有一种文化的受众而构建的,那么使用InvariantCulture并定义每次输入/显示的值是否有意义?
不,您可以使用相关的CultureInfo来实现这种文化。您也可以显式地定义日期等的格式,但这是一个正交的问题。最好为这种文化使用一种预定义的标准格式,但如果这些格式都不能满足您的需要,那么您可以始终明确地使用这些格式。
发布于 2013-07-20 17:24:54
关于DateTime,我能给出的最好的建议是,当您考虑到确切的格式时,使用CultureInfo.InvariantCulture表示ParseExact和ToString。(如果您碰巧知道输入格式与不变区域性的格式相匹配,也可以将它与Parse一起使用,但我通常避免这样做。)
与用户交互时不要使用不变区域性。
请记住,文化包含几个项目,包括日/月/年部分的排序、日期和时间部分分隔符、字符编码、一周中的日期、月份和年度中特定语言的名称,以及包括am/pm在内的缩写。
关于何时使用不变区域性的一些示例:
应该何时使用特定区域性的一些示例,如en-US
https://stackoverflow.com/questions/17763682
复制相似问题