首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hijri日历早了1天。

Hijri日历早了1天。
EN

Stack Overflow用户
提问于 2013-07-23 14:46:54
回答 3查看 3.2K关注 0票数 4

如何修复提早1天的Hijri日历?

今天,我的时间= 2013年7月23日星期二

伊斯兰历法时间=1434年的14个月(根据this的说法

我的日历显示的是15号,而不是14号。然而,我不确定这是我的错,还是网站的错。有没有人能确定今天是哪一天?

代码语言:javascript
复制
lblgreg.Text = DateTime.Today.ToString("dd/MM/yyyy");

今天的日期:

代码语言:javascript
复制
DateTime today = DateTime.Today;

将公历转换为Hibri:

代码语言:javascript
复制
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);

要切换为text-month月值的Switch语句:

代码语言:javascript
复制
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;
                }
        }
EN

回答 3

Stack Overflow用户

发布于 2013-08-14 00:16:28

请改用UmAlQuraCalendar

代码语言:javascript
复制
var UmAlQuraCalendar = new UmAlQuraCalendar();
CultureInfo Hijri = new CultureInfo("ar-SA")  
{ 
    DateTimeFormat = { Calendar = UmAlQuraCalendar } 
};
票数 6
EN

Stack Overflow用户

发布于 2014-10-12 14:31:26

使用HijriAdjustment并将其设置为-2到2之间,如下所示

代码语言:javascript
复制
System.Globalization.HijriCalendar hej = new System.Globalization.HijriCalendar();
    hej.HijriAdjustment =-2;
票数 2
EN

Stack Overflow用户

发布于 2018-01-30 07:11:00

检查下面的代码

代码语言:javascript
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17803200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档