c# - 回历早了 1 天。

标签 c# .net calendar hijri

如何解决回历提前 1 天的问题?

今天,我的时间 = 2013 年 7 月 23 日,星期二
和伊斯兰历时间 = 14 斋月,1434(根据 this

我的日历显示斋月 15 日而不是 14 日。但是我不确定这是我的错还是网站的错。谁能确认今天的斋月日期?

lblgreg.Text = DateTime.Today.ToString("dd/MM/yyyy");

今天的日期:

DateTime today = DateTime.Today;

将公历转换为 Hibri:

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 语句:

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;
                }
        }

最佳答案

改用 UmAlQuraCalendar

var UmAlQuraCalendar = new UmAlQuraCalendar();
CultureInfo Hijri = new CultureInfo("ar-SA")  
{ 
    DateTimeFormat = { Calendar = UmAlQuraCalendar } 
};

关于c# - 回历早了 1 天。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17803200/

相关文章:

c# - ActivityIndi​​cator 未在绑定(bind)到 ViewModel 的 XAML 中显示

c# - 打破一个返回列表c#的函数

.NET运行时优化服务

java - 日历小时设置为 0,却显示 1,为什么?

javascript - 单击按钮后将输入掩码附加到新行中

c# - 从 javascript 调用成员背后的代码

javascript - 本地/网络服务器和 JS Bin 测试之间奇怪的范围差异

c# - WebApi Controller 中使用 SimpleInjector 的运行时空引用异常

asp.net - 如何在 ASP.NET 网站中禁用 SSL 证书验证

java - 如何在 Android 7.0 的微调器模式下修复 DatePickerDialog?