【问题标题】:convert standard date to standard persian date in c#在c#中将标准日期转换为标准波斯日期
【发布时间】:2015-10-04 06:35:34
【问题描述】:

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

 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更改这些输出的帮助吗?

【问题讨论】:

    标签: c# datetime persian


    【解决方案1】:

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

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

    【讨论】:

    • 你的意思是 return date.ToString();?
    【解决方案2】:

    你可以使用这个功能:

    private static string UpdateDate(string date)
    {
        date.PadLeft(2, '0');
    }
    
    date = year+"/" + UpdateDate(Month) + "/" + UpdateDate(day);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 2016-10-11
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      相关资源
      最近更新 更多