C# 如何将公历日期(日期选择器)转换为Shamsi?

C# 如何将公历日期(日期选择器)转换为Shamsi?,c#,datetimepicker,persian-calendar,C#,Datetimepicker,Persian Calendar,我使用日期选择器作为所选日期的输入。我想将所选日期转换为其等效的Shamsi(波斯语)日期。我尝试了以下代码: private void button2_Click(object sender, EventArgs e) { string[] Gregorian = Convert.ToString(dateTimePicker1.Value.ToShortDateString()).Split('/'); PersianCalendar persian

我使用日期选择器作为所选日期的输入。我想将所选日期转换为其等效的Shamsi(波斯语)日期。我尝试了以下代码:

private void button2_Click(object sender, EventArgs e)
    {
        string[] Gregorian = Convert.ToString(dateTimePicker1.Value.ToShortDateString()).Split('/');
        PersianCalendar persian = new PersianCalendar();
        label4.Text = string.Format("{0}/{1}/{2}", persian.GetYear(Convert.ToInt32(Gregorian[2]), persian.GetMonth(Convert.ToInt32(Gregorian[0]), persian.GetDayOfMonth(Convert.ToInt32(Gregorian[1])));
    }
但它在
Convert.ToInt32(Gregorian[1])
部分有红色下划线。IDE显示“无法从'int'转换为'system.DateTime'。 请帮帮我。

我试过这个:

       private void button2_Click(object sender, EventArgs e)
    {
        
        PersianCalendar persian = new PersianCalendar();
        label4.Text = string.Format("{0}/{1}/{2}", persian.GetYear(dateTimePicker1.Value), persian.GetMonth(dateTimePicker1.Value), persian.GetDayOfMonth(dateTimePicker1.Value));
    }

请提供IDE以文本形式报告的任何错误。“它有一个红色下划线”不是一个好的错误报告。日历使用的Get Day/Month/Year方法需要Datetime。但是您需要Datetime,从中生成一个字符串并生成一个int。只需在这些方法中填充dateTimePicker1.Value。IDE说无法从“int”转换为“system.DateTime”。