瑞典文化信息

Posted

技术标签:

【中文标题】瑞典文化信息【英文标题】:CultureInfo For Swedish 【发布时间】:2013-12-27 07:14:24 【问题描述】:

我想将日期时间转换为瑞典文化。

DateTime.Today.ToString("dd MMMM yyyy");

上面的代码行给我的结果是 2013 年 12 月 27 日

我想要以瑞典语显示 12 月的结果。

【问题讨论】:

【参考方案1】:

你应该使用 瑞典文化

DateTime.Today.ToString("dd MMMM yyyy", CultureInfo.GetCultureInfo("sv-SE"));

如果每个ToString() 都应该使用瑞典语,您可以设置CurrentCulture

  // Or/And CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("sv-SE");
  Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("sv-SE");
  ...

  // Since Current Culture is Swedish, there's no need to put it explicitly
  DateTime.Now.ToString("dd MMMM yyyy");    

【讨论】:

谢谢@Dmitry Bychenko【参考方案2】:

如果您不想在使用此方法的任何地方都使用culture 参数,那么您可以通过执行以下一项或多项操作将您的应用程序默认语言设置为瑞典语:

CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("sv-SE");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("sv-SE");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("sv-SE");
Thread.CurrentThread.CurrentCulture = new CultureInfo("sv-SE");

然后,无论您在哪里调用 ToString() 方法,它都会根据您设置的当前文化信息进行字符串化。

【讨论】:

您不必每次都创建new(相同的)实例。如果您执行CultureInfo.GetCultureInfo("sv-SE"),您将重复使用相同的(缓存的)实例。【参考方案3】:
DateTime.Today.ToString("dd MMMM yyyy", new CultureInfo("sv-SE"));

refer here

// 创建并初始化使用国际排序的 CultureInfo。

DateTime.Today.ToString("dd MMMM yyyy",new CultureInfo("sv-SE");

// 创建并初始化使用传统排序的 CultureInfo。

DateTime.Today.ToString("dd MMMM yyyy",new CultureInfo(0x041D);

【讨论】:

以上是关于瑞典文化信息的主要内容,如果未能解决你的问题,请参考以下文章

序列化\反序列化 - 我应该使用不变的文化信息还是保留当前的文化信息

日期时间和文化信息

信息部门的文化

如何使用开放 XML 检索 excel 的文化信息?

Date.js 文化信息让我感到困惑

第一章 计算机文化