在 C# 中将标准日期转换为标准波斯日期

convert standard date to standard persian date in c#

我有一个函数可以将标准日期转换为波斯标准日期,您可以在此处看到:

 public string ConvertToPersianToShow(DateTime datetime)
        {
            PersianCalendar persian_date = new PersianCalendar();
            string date;
            string year = Convert.ToString(persian_date.GetYear(datetime));
            string Month = Convert.ToString(persian_date.GetMonth(datetime));
            string day = Convert.ToString(persian_date.GetDayOfMonth(datetime));

            date = year+"/" + Month + "/" + day;
            return date;
        }

但我对这些输出有疑问:

1394/5/1
1394/12/8
1395/7/12 

这些输出应该是这样的:

1394/05/01
1394/12/08
1395/07/12

我可以计算日期和月份的数字,但我认为这不是最好的方法。你能帮我一些关于如何使用 [=13 更改这些输出的帮助吗? =]?

您只需添加一个前导零即可。 .ToString可以用

string Month = persian_date.GetMonth(datetime).ToString("D2");
string day = persian_date.GetDayOfMonth(datetime).ToString("D2");

你可以使用这个功能:

private static string UpdateDate(string date)
{
    date.PadLeft(2, '0');
}

date = year+"/" + UpdateDate(Month) + "/" + UpdateDate(day);