从公历转换为波斯历法不起作用

时间:2019-10-19 14:07:00

标签: c# persian-calendar

在我的代码中,我想将公历(例如:2019/10/8)转换为波斯日历(例如:1398/07/16)。 这是我的代码:

public static string ToPersianDate(this DateTime t)
{
    var pc = new PersianCalendar();
    return $"{pc.GetYear(t)}/{pc.GetMonth(t)}/{pc.GetDayOfMonth(t)}";
}

但是我得到的是与输入参数相同的日期!

我的意思是,如果我通过2019/10/08,我将得到2019/10/08。似乎从未发生过转换。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下代码将公历日期转换为波斯日期。

    string GregorianDate = "2019/10/08";
    DateTime d = DateTime.Parse(GregorianDate);
    PersianCalendar pc = new PersianCalendar();
    Console.WriteLine(string.Format("{0}/{1}/{2}", pc.GetYear(d), pc.GetMonth(d), pc.GetDayOfMonth(d)));

结果: enter image description here