private static int[] jDToHCalendar(double JD){
	        int[] out = new int[3];
	    	/*
	           Estimating the hijrah dates from JD
	         */
	        double md, yd;
	        yd = JD - 1948439.0;
	        /*  subtract JD for 18/7/622 first Hijrah date*/
	        md = mod(yd,354.367068);
	        out[2] = mod(md + 0.5,29.530589) + 1;
	        Double doubleHolder = (md / 29.530589) + 1;
	        out[1] = doubleHolder.intValue();
	        yd = yd - md;
	        doubleHolder = yd / 354.367068 + 1;
	        out[0] = doubleHolder.intValue();
	        if (out[2] > 30){
	        	out[2] -= 30;
	        	out[1]++;
	        }
	         
	        if (out[1] > 12){
	        	out[1] -= 12;
	            out[0]++;
	        }
	        
	         return out;
	    }