文化资讯支持英语的数字和日期欧洲格式?

CultureInfo. Number & Date European format with English Language support?

我想为欧洲格式化文化支持英语。

日期应使用欧洲格式以英文显示。所以,应该显示“14:00 Sunday, 16/July/2017”,而不是英国方式...实际上爱尔兰文化对此没问题!

此外,例如当我需要显示货币时,我希望它的格式为“1.500,00 €”。现在,为了支持英语,如果我使用英国文化,我会得到英镑符号。如果我使用爱尔兰文化,我会得到“€1,500.00”,这不是欧洲格式化货币的标准方式。

我希望我的申请支持 en-US 和(如果有的话)en-EU。有任何想法吗?我需要创建自定义文化吗?有什么指点吗?

在我们的应用程序中,所有 DateTime 对象都存储在 UTC 中,并通过我们框架中的辅助方法转换为适当的表示形式:

public static string ToString(DateTime? date, string format)
{
   if (date.HasValue)
      return String.Format("{0:}"+format, date);
   else return "";
}

从我们存储的语言中检索格式。

decimal 表示货币的属性也由我们框架中的辅助方法转换。为此,我们使用 NumberFormatInfo:

        numberFormat = new NumberFormatInfo();
        numberFormat.CurrencyDecimalSeparator = ".";
        numberFormat.CurrencyGroupSeparator = "";
        numberFormat.NumberDecimalSeparator = ".";
        numberFormat.NumberGroupSeparator = "";

然后使用创建的NumberFormatInfo:

price.ToString(numberFormat);

这种方法的最大优点是您可以创建自己的首选项,尽管其他人认为这是合乎逻辑的,并且这些方法支持自定义用户设置。

缺点是您需要为您支持的每个国家/地区创建语言和格式。