0

在我的代码中,我想从公历(例如: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。似乎没有发生任何转变。

4

1 回答 1

1

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

    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)));

结果: 在此处输入图像描述

于 2019-10-21T06:08:36.717 回答