我想把波斯日期转换成公历日期。我用这个密码。
public static void GetDate()
{
String persianDate="1384/03/15"
Datetime dt= GetComponentDate(persianDate);
}
DateTime GetComponentDate(string fdate)
{
DateTime edate;
int year = int.Parse(Persia.Number.ConvertToLatin(fdate.Split('/')[0]));
int month = int.Parse(Persia.Number.ConvertToLatin(fdate.Split('/')[1]));
int day = int.Parse(Persia.Number.ConvertToLatin(fdate.Split('/')[2]));
try
{
System.Globalization.PersianCalendar x = new System.Globalization.PersianCalendar();
DateTime dt = x.ToDateTime(year, month, day, 0, 0, 0, 0, 0);
return dt;
}
catch
{
}
return DateTime.MinValue;
}在服务器中,该方法运行良好,输出为"17/6/2017“。但是在另一台服务器上,这个方法不起作用,output="15/03/1384“,在使用GetComponentDate之后,我必须使用这段代码。
((DateTime)dt).ToString(CultureInfo.InvariantCulture);两台服务器有什么不同?你能帮帮我吗?
发布于 2017-06-17 08:42:48
您说您需要使用CultureInfo.InvariantCulture才能使它在两个服务器上工作,然后您会问“两个服务器中有什么不同”。
我想说的是,不同的是文化。
您可以通过在web.config中添加全球化行来设置应用程序区域性:
<configuration>
<system.web>
<globalization uiCulture="[uiculture]" culture="[culture]" />用精确的值替换[uiculture]和[culture]。
例如美国文化:
<globalization uiCulture="en-US" culture="en-US"/>这里是所有不同文化的列表。
https://stackoverflow.com/questions/44602237
复制相似问题