Календарь хиджры на 1 день раньше.
Как я могу исправить календарь Хиджры на 1 день раньше?
Сегодня мое время = 23 июля 2013 вторник
И исламское календарное время = 14 Рамадан, 1434 (согласно этому
Мой календарь показывает 15 Рамадана вместо 14. Однако я не уверен, является ли это моей ошибкой или ошибкой сайта. Кто-нибудь может подтвердить сегодняшнюю дату Рамадана?
lblgreg.Text = DateTime.Today.ToString("dd/MM/yyyy");
Сегодняшняя дата:
DateTime today = DateTime.Today;
Преобразование григорианского календаря в хибри:
CultureInfo Hijri = CultureInfo.CreateSpecificCulture("ar-SA");
string datetoday_day = today.ToString("dd", Hijri);
string datetoday_month = today.ToString("MM", Hijri);
string datetoday_year = today.ToString("yyyy", Hijri);
int month_check = int.Parse(datetoday_month);
Переключите заявление на значение месяцев, которое будет переключено на текстовый месяц:
switch (month_check) {
case 01:
{
lbldate.Text = datetoday_day + " Muharram " + datetoday_year;
break;
}
case 02:
{
lbldate.Text = datetoday_day + " Safar " + datetoday_year;
break;
}
case 03:
{
lbldate.Text = datetoday_day + " Rabi Al-Awwal " + datetoday_year;
break;
}
case 04:
{
lbldate.Text = datetoday_day + " Rabi Al-Akhar " + datetoday_year;
break;
}
case 05:
{
lbldate.Text = datetoday_day + " Jumada Al-Awwal " + datetoday_year;
break;
}
case 06:
{
lbldate.Text = datetoday_day + " Jumada Al-Akhirah " + datetoday_year;
break;
}
case 07:
{
lbldate.Text = datetoday_day + " Rajab " + datetoday_year;
break;
}
case 08:
{
lbldate.Text = datetoday_day + " Shaban " + datetoday_year;
break;
}
case 09:
{
lbldate.Text = datetoday_day + " Ramadan " + datetoday_year;
break;
}
case 10:
{
lbldate.Text = datetoday_day + " Shawwal " + datetoday_year;
break;
}
case 11:
{
lbldate.Text = datetoday_day + " Dhul-Qadah " + datetoday_year;
break;
}
case 12:
{
lbldate.Text = datetoday_day + " Dhul-Hijjah " + datetoday_year;
break;
}
}
3 ответа
Использование UmAlQuraCalendar
вместо.
var UmAlQuraCalendar = new UmAlQuraCalendar();
CultureInfo Hijri = new CultureInfo("ar-SA")
{
DateTimeFormat = { Calendar = UmAlQuraCalendar }
};
Используйте HijriAdjustment и установите его от -2 до 2, как это
System.Globalization.HijriCalendar hej = new System.Globalization.HijriCalendar();
hej.HijriAdjustment =-2;
Проверьте код ниже
using System.Globalization;
//.......
var arDateTimeFormat= new CultureInfo("ar").DateTimeFormat;
arDateTimeFormat.Calendar = new HijriCalendar { HijriAdjustment = -1}; //set HijriAdjustment between -2 to 2
arDateTimeFormat.AbbreviatedMonthNames = new []{"Muharram", "Safar", "Rabi Al-Awwal", "Rabi Al-Akhar", "Jumada Al-Awwal", "Jumada Al-Akhirah", "Rajab", "Shaban", "Ramadan", "Shawwal", "Dhul-Qadah", "Dhul-Hijjah", string.Empty};
lbldate.Text = DateTime.Now.ToString("dd MMM, yyyy", arDateTimeFormat);