将字符串转换为波斯日期时间

时间:2017-05-07 15:19:00

标签: c# asp.net

我正在开发一个asp.net网站,我想将一个波斯日期字符串转换为DateTime类型,我使用下面的代码,但我得到了格里高利日期

System.Globalization.CultureInfo pr = new System.Globalization.CultureInfo("fa-ir");
DateTime dt = DateTime.ParseExact("1396/04/31", "yyyy/MM/dd", pr);

dt是7/22/2017但它必须是1396/04/31

我也尝试使用此代码,但遇到同样的问题

PersianCalendar persianDate = new PersianCalendar();
DateTime st = persianDate.ToDateTime(1396, 04, 31, 0, 0, 0, 0);

我使用的是Windows 10和.net 4.5

我该如何解决这个问题。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

您可以参考PersianDateTime
How convert Gregorian date to Persian date?

PersianDateTime now = PersianDateTime.Now;

string persianDateTime = now.ToString(); // 1392/03/09 23:37:57
string persianDate = now.ToString(PersianDateTimeFormat.Date); // 1392/03/09
string persianFullDateTime = now.ToString("dddd d MMMM yyyy ساعت hh:mm:ss tt"); // پنج شنبه 9 خرداد 1392 ساعت 11:37:57 ب.ظ

TimeSpan persianTime = now.TimeOfDay; // 23:37:57.4641984