#c# #datetimepicker #persian-calendar
#c# #datetimepicker #персидский-календарь
Вопрос:
Я использую средство выбора даты в качестве входных данных для выбранной даты. Я хочу преобразовать выбранную дату в эквивалентную ей дату Шамси (персидскую). Я попробовал этот код:
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.Дата и время ‘.
Пожалуйста, помогите мне.
Комментарии:
1. Пожалуйста, укажите любые ошибки, о которых сообщает IDE, в виде текста. «У него есть красное подчеркивание» — это не очень хороший отчет об ошибке.
2. Календарь принимает даты и время для используемого метода получения дня / месяца / года. Но вы берете Datetime, создаете из него строку и делаете из нее int. Просто заполните dateTimePicker1.Value в эти методы.
3. IDE сообщает: «Невозможно преобразовать из ‘int’ в ‘system. Дата и время ‘.
Ответ №1:
Я попробовал это:
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));
}