2015-10-04 78 views
1

我可以在標準的日期轉換爲波斯標準日期的功能,你可以在這裏看到:轉換標準日期標準波斯日期在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 

我可以算一天的位數nd月,但我不是最好的方式做到這一點。請你給我一些幫助,我該如何改變這些輸出使用stringformat

回答

2

所有你需要做的就是添加一個前導零。可以使用.ToString

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

你的意思是返回date.ToString();? –

+0

我添加了,但它不起作用 –

+0

是的,它會,你爲什麼說它不起作用。 –

3

您可以使用此功能:

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

date = year+"/" + UpdateDate(Month) + "/" + UpdateDate(day); 
相關問題