protected static Ptg calcDays360( Ptg[] operands )
	{
		if( operands.length < 2 )
		{
			return new PtgErr( PtgErr.ERROR_VALUE );
		}
		try
		{
			Object o1 = operands[0].getValue();
			Object o2 = operands[1].getValue();
			GregorianCalendar dt1 = (GregorianCalendar) DateConverter.getCalendarFromNumber( o1 );
			GregorianCalendar dt2 = (GregorianCalendar) DateConverter.getCalendarFromNumber( o2 );
			int yr1 = dt1.get( Calendar.YEAR );
			int yr2 = dt2.get( Calendar.YEAR );
			int diff = yr2 - yr1;
			diff *= 360; // turn years to days.
			int mo1 = dt1.get( Calendar.MONTH );
			int mo2 = dt2.get( Calendar.MONTH );
			int mos = 0;
			if( mo2 > mo1 )
			{
				mos = mo2 - mo1;
			}
			else
			{
				diff -= 360;
				while( mo2 != mo1 )
				{
					mos++;
					mo1++;
					if( mo1 == 12 )
					{
						mo1 = 0;
					}
				}
			}
			diff += mos * 30;
			int dy1 = dt1.get( Calendar.DAY_OF_MONTH );
			int dy2 = dt2.get( Calendar.DAY_OF_MONTH );
			if( dy2 > dy1 )
			{
				diff += dy2 - dy1;
			}
			else
			{
				diff -= 30;
				while( dy2 != dy1 )
				{
					diff++;
					dy1++;
					if( dy1 == 30 )
					{
						dy1 = 0;
					}
				}
			}
			PtgInt pint = new PtgInt( diff );
			return pint;
		}
		catch( Exception e )
		{
		}
		return new PtgErr( PtgErr.ERROR_VALUE );
	}