当我编写此代码的日期设置为“ 12/12/2018 20:08”时,就可以了
{
var newCulture = new CultureInfo("en-GB");
var date = (value as DateTime?)?.ToString(newCulture.DateTimeFormat.ShortDatePattern+" HH:mm", CultureInfo.InvariantCulture);
}
但是当我将区域性名称更改为“ en-Us”时,结果为“ 12.12.2018 20:08”(我所知道的格式不正确)-ShortDatePattern的返回日期格式不正确
我在另一个桌面上对其进行了测试,并且可以在其中两个桌面上正常工作。 可能对桌面设置有某种依赖性吗? 为什么日期格式多种多样?
答案 0 :(得分:2)
new CultureInfo("en-GB")
调用useUserOverride
设置为true的ctor。这意味着,如果您的服务器环境具有使用自定义设置的指定区域性匹配项,则将使用这些设置而不是默认设置。因此,要解决您的问题CultureInfo("en-GB", false);
或CultureInfo.GetCultureInfo("en-GB")
(对于缓存版本)
GetCultureInfo方法检索缓存的只读CultureInfo 宾语。与相应的调用 CultureInfo.CultureInfo(String)构造函数。
如果名称是当前区域性的名称,则返回CultureInfo 对象不反映任何用户替代。这使得方法 适用于没有真实用户的服务器应用程序或工具 系统上的帐户,并且需要加载多个区域性