我想將波斯日期轉換爲公曆日期。我使用這個代碼。ToshortDateString()和CultureInfo.InvariantCulture
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);
兩臺服務器有什麼不同? 你能幫助我嗎?
「不行」是什麼意思?你也可以**給一些樣本輸入和相關的輸出到'GetComponentDate'調用? – Enigmativity
什麼是'Persia.DateType.Gregorian'?調用'ToString'不應該單獨做任何事情作爲一個陳述......什麼是'dt'?目前有很多信息缺失。 –
我更新了我的代碼。在一臺服務器上,當我只使用方法GetComponentDate時,我可以轉換波斯日期,但在另一臺服務器上,當我想要演唱會日期爲String時,我應該使用CultureInfo.InvariantCulture。兩臺服務器有什麼不同? –