Blog

Microsoft Dynamics AX Thoughts

3

I came across a requirement where I needed to convert users entry from Hirjri Calendar date (the Islamic Calendar) into the Gregorian Calendar. In previous posts, I have shown how to convert Gregorian Date (date data type in Dynamics AX) into Hirjri… if you are interested in those check them out here:

In order to convert a Hirji date into Gregorian, I used the .NET classes referenced in the any Dynamics AX standard version.

Enjoy!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//Amer Atiyah, http://blog.amer-ax.com
static date hijri2GrDate(DAPHijridateStr   hijriDateStr)
{
    System.Globalization.CultureInfo arCul = new System.Globalization.CultureInfo("ar-SA");
    System.Globalization.CultureInfo enCul = new System.Globalization.CultureInfo("en-US");
    System.DateTime                  tempDateTime;
    str                              strTemp;
    System.String[]                  arr;
    date                             grDate;
;
 
    //all expected dates formats
    arr = new System.String[18]();
    arr.SetValue("dd M yyyy",  0);
    arr.SetValue("yyyy/MM/dd",  1);
    arr.SetValue("yyyy/M/d",    2);
    arr.SetValue("d/M/yyyy",    3);
    arr.SetValue("dd/MM/yyyy",  4);
    arr.SetValue("yyyy-MM-dd",  5);
    arr.SetValue("d/MM/yyyy",   6);
    arr.SetValue("dd/M/yyyy",   7);
    arr.SetValue("yyyy-M-d",    8);
    arr.SetValue("dd-MM-yyyy",  9);
    arr.SetValue("yyyy MM dd",  10);
    arr.SetValue("d-M-yyyy",    11);
    arr.SetValue("d-MM-yyyy",   12);
    arr.SetValue("dd-M-yyyy",   13);
    arr.SetValue("d M yyyy",    14);
    arr.SetValue("dd MM yyyy",  15);
    arr.SetValue("yyyy M d",    16);
    arr.SetValue("d MM yyyy",   17);
 
    try
    {
        tempDateTime = System.DateTime::ParseExact(hijriDateStr, arr, arCul, System.Globalization.DateTimeStyles::AllowWhiteSpaces);
    }
    catch
    {
        error("Unexpected Hirji date format.");
        return datenull();
    }
    strTemp = tempDateTime.ToString("dd/MM/yyyy");
    grDate = str2date(strTemp, 123);
 
    return grDate;
}

It might a great idea if you added this method to the “Global” class, like what I did :) .

Hirji into Gregorian

3 Comments to “Convert All Hirji Formats into Gregorian”

  • Hi Amer Atiyah,
    This code is Working good, but i need to find the Last Day of Hijri Month, Is it Possible in Axapta, Can you Throw some light.

    Thanks & Regards,
    Ansar.

    • Hi Ansar,

      As you see, I’m using the .NET framework capabilities by the end of the day to get the Hijri Date. So you have to think the same way. I’m not sure what the method in .NET actually is, you have to look for it buddy.

      All the luck :) .
      Amer

      • Hi Amer,

        Thanks for your quick reply, I need to generate the Revenue Journal by end of each month for Hijri date, i have stuck up for converting the end date.

        Thanks :-) ,
        Ansar.

Post comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Dynamics AX 2012 Event

Recent Posts

Tags

Archives

Random Testimonial

  • ~ Muzammil Ahmad, ERP Manager at Abdul Aziz Alsorayai Investment Group

    33a1e92"Thing that I have seen in Amer in a broader view, that, he is a type of guy who takes the tasks in a professional way,concentrate on tasks, work on them with a cool & calm mind but fullfil the tasks in time. Having a humble nature, its normally a pleasure for everyone to work with Amer"

  • Read more testimonials »

Posting tweet...

Powered by Twitter Tools