Asp.net mvc difrent器件中文化形态的变化

Asp.net mvc difrent器件中文化形态的变化,asp.net-mvc,localization,asp.net-core-3.1,asp.net-core-localization,Asp.net Mvc,Localization,Asp.net Core 3.1,Asp.net Core Localization,我有一个asp.net core 3.1 MVC web应用程序,我正在使用此代码生成本地化的日期字符串 StartDate.ToString(“yyyy/MM/dd”,CultureInfo.CreateSpecificCulture(“fa IR”)) 其中StartDate的类型为DateTime 这将在我的本地匹配中生成1399/08/30 但是在我部署它的matchin中生成2020/11/20(我称之为服务器) 服务器cultuer有问题吗 或者服务器中的System.Globali

我有一个asp.net core 3.1 MVC web应用程序,我正在使用此代码生成本地化的日期字符串

StartDate.ToString(“yyyy/MM/dd”,CultureInfo.CreateSpecificCulture(“fa IR”))

其中StartDate的类型为
DateTime

这将在我的本地匹配中生成
1399/08/30

但是在我部署它的matchin中生成
2020/11/20
(我称之为服务器)

服务器cultuer有问题吗 或者服务器中的
System.Globalization.CultureInfo
有问题


我希望在本地匹配中使用whitch的格式。

实际上有两种解决方案

一:安装windows server 2016 R2。因为它有丰富的文化

第二:制作一个手工制作的日期转换器,我用这个做的:

public static string ToPersianDateString(DateTime? date)
    {
        if (date==null)
        {
            return "";
        }
        var pc = new PersianCalendar();
        return pc.GetYear(date.Value) + "/" + pc.GetMonth(date.Value).ToString("D2") + "/" + pc.GetDayOfMonth(date.Value).ToString("D2");
    }

好吧,这有点混乱,但它在你不想升级操作系统的情况下起作用。

StartDate的背后是什么?模型你哪里得到了错误的值?看到了吗?@Adlorem是的StartDate后面是一个模型,但它并不重要。我在视图中调用它,它返回我在问题中提到的字符串