【问题标题】:Persian culture in Windows Server 2012 r2Windows Server 2012 r2 中的波斯文化
【发布时间】:2018-10-30 02:46:22
【问题描述】:

在我们在 Windows 10 上运行的开发机器中,“fa-IR”文化工作正常,所有日期都使用波斯日历显示。但是当我们在 Windows Server 2012 r2 上部署我们的应用程序时,日期时间仍然是公历。

【问题讨论】:

  • “fa-IR 文化运作良好”是什么意思?你是如何在你的应用程序中使用它的?还是操作系统设置?
  • 我喜欢这个 DateTime.Now.ToString("ddd, dd MMM yyyy", new System.Globalization.CultureInfo("fa-IR"))。在 Windows 10 日期时间显示为波斯文,但在服务器中显示为公历。
  • 两台机器的区域设置是否相同?
  • 是的。但它们之间是有区别的。在 Windows 10 的“当前系统位置”中,“波斯语(伊朗)”可用,但在服务器“波斯语”中可用。不知道会不会有影响。

标签: c# globalization windows-server persian-calendar


【解决方案1】:

很可能fr-IR 文化没有安装在服务器上。

请参阅Installing more cultures on Windows Server 2012 以获得更多帮助。

【讨论】:

  • 谢谢。当我使用此示例 c# 代码并且我想从“fa-IR”文化中加载数据从文化信息时,我收到错误消息“当前不支持自定义日历”
【解决方案2】:

为了澄清我们在 Windows Server2012 中使用 fa-IR 时遇到的问题,下面是一个在 Windows 10 中运行良好但在 Windows 2012 中无法运行的示例:

DateTime startDate;
CultureInfo c = CultureInfo.CreateSpecificCulture("fa-IR");
DateTime.TryParse("1990/02/01", new CultureInfo("en-US"), DateTimeStyles.None, out startDate);
Console.WriteLine(startDate.ToString("D", c));

Windows 10 结果(正常):پنجشنبه, 12 بهمن 1368
Windows 2012 结果(只是波斯字母):پنجشنبه، 01 فوريه 1990

【讨论】:

    【解决方案3】:

    这取决于 Windows 的版本,波斯日历是在 Windows Server 2012 R2 和 Windows 10 中添加的。

    SQL Server FORMAT with culture parameter not working

    【讨论】:

    • 在 Windows 2012 R2 中,当我们使用“fa-IR”时,日期时间将被转换为波斯语,例如“پنجشنبه، 01 فوريه 1990”。最后,我们只是将 windows 版本升级到 2016 并修复了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多