文化资讯支持英语的数字和日期欧洲格式?
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);
这种方法的最大优点是您可以创建自己的首选项,尽管其他人认为这是合乎逻辑的,并且这些方法支持自定义用户设置。
缺点是您需要为您支持的每个国家/地区创建语言和格式。
我想为欧洲格式化文化支持英语。
日期应使用欧洲格式以英文显示。所以,应该显示“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);
这种方法的最大优点是您可以创建自己的首选项,尽管其他人认为这是合乎逻辑的,并且这些方法支持自定义用户设置。
缺点是您需要为您支持的每个国家/地区创建语言和格式。