将标准日期转换为c#中的标准波斯日期

时间:2015-10-04 06:35:34

标签: c# datetime persian

我有一个可以将标准日期转换为波斯标准日期的函数,如下所示:

 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

我可以计算一天和一个月的数字,但我认为这不是最好的方法。请你帮助我如何使用stringformat更改这些输出?

2 个答案:

答案 0 :(得分:3)

您可以使用此功能:

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

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

答案 1 :(得分:2)

您需要做的就是添加一个前导零。可以使用.ToString

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