Ejemplo n.º 1
0
    public static bool datetimeisValidDate(datetimeDate date)
    {
        bool valid;

        double [] daysInMonth;
        double    daysInThisMonth;

        if (date.year >= 1752d)
        {
            if (date.month >= 1d && date.month <= 12d)
            {
                daysInMonth     = datetimegetDaysInMonth(date.year);
                daysInThisMonth = daysInMonth[(int)(date.month)];
                if (date.day >= 1d && date.day <= daysInThisMonth)
                {
                    valid = true;
                }
                else
                {
                    valid = false;
                }
            }
            else
            {
                valid = false;
            }
        }
        else
        {
            valid = false;
        }

        return(valid);
    }
Ejemplo n.º 2
0
    public static double datetimegetSecondsFromDateTime(datetimeDateTime dateTime)
    {
        datetimeDate date;
        double       seconds;
        double       days;
        double       secondsInMinute;
        double       secondsInHour;
        double       secondsInDay;

        seconds = 0d;

        date       = new datetimeDate();
        date.year  = dateTime.year;
        date.month = dateTime.month;
        date.day   = dateTime.day;

        days = datetimedateToDayNumber(date, new datetimeSuccess());

        secondsInMinute = 60d;
        secondsInHour   = 60d * secondsInMinute;
        secondsInDay    = 24d * secondsInHour;

        seconds = seconds + secondsInDay * days;
        seconds = seconds + secondsInHour * dateTime.hours;
        seconds = seconds + secondsInMinute * dateTime.minutes;
        seconds = seconds + dateTime.seconds;

        return(seconds);
    }
Ejemplo n.º 3
0
    public static datetimeDate getDateFromNorwegianPersonalIdentificationNumber(char [] fnummer, DoubleReference failures)
    {
        datetimeDate aDatetimeDate;
        double       individnummer;
        double       day, month, year;
        double       d1, d2, d3, d4, d5, d6, d7, d8, d9;

        aDatetimeDate = new datetimeDate();

        d1 = charToNumber(fnummer[0], failures);
        d2 = charToNumber(fnummer[1], failures);
        d3 = charToNumber(fnummer[2], failures);
        d4 = charToNumber(fnummer[3], failures);
        d5 = charToNumber(fnummer[4], failures);
        d6 = charToNumber(fnummer[5], failures);
        d7 = charToNumber(fnummer[6], failures);
        d8 = charToNumber(fnummer[7], failures);
        d9 = charToNumber(fnummer[8], failures);

        if (failures.doubleValue == 0d)
        {
            individnummer = d7 * 100d + d8 * 10d + d9;
            day           = d1 * 10d + d2;
            month         = d3 * 10d + d4;
            year          = d5 * 10d + d6;
            if (individnummer >= 0d && individnummer <= 499d)
            {
                year = year + 1900d;
            }
            else if (individnummer >= 500d && individnummer <= 749d && year >= 54d && year <= 99d)
            {
                year = year + 1800d;
            }
            else if (individnummer >= 900d && individnummer <= 999d && year >= 40d && year <= 99d)
            {
                year = year + 1900d;
            }
            else if (individnummer >= 500d && individnummer <= 999d && year >= 0d && year <= 39d)
            {
                year = year + 1900d;
            }
            else
            {
                failures.doubleValue = failures.doubleValue + 1d;
            }



            aDatetimeDate.year  = year;
            aDatetimeDate.month = month;
            aDatetimeDate.day   = day;
        }

        return(aDatetimeDate);
    }
Ejemplo n.º 4
0
    public static double datetimedateToDayNumber(datetimeDate date, datetimeSuccess success)
    {
        double days;

        success.success = true;
        days            = -79623d;
        /* Day 1752-01-01*/
        days = days + datetimedaysInYears(date.year);
        days = days + datetimedaysInMonths(date.month, date.year);
        days = days + date.day - 1d;

        return(days);
    }
Ejemplo n.º 5
0
    public static datetimeDate datetimedayToDate(double dayNr, datetimeSuccess success)
    {
        datetimeDate    date;
        DoubleReference remainder;

        date                  = new datetimeDate();
        success.success       = true;
        remainder             = new DoubleReference();
        remainder.doubleValue = dayNr + 79623d;
        /* Days since 1752-01-01. Day 0: Thursday, 1970-01-01*/
        /* Find year.*/
        date.year = datetimegetYearFromDayNr(remainder.doubleValue, remainder);

        /* Find month.*/
        date.month = datetimegetMonthFromDayNr(remainder.doubleValue, date.year, remainder);

        /* Find day.*/
        date.day = 1d + remainder.doubleValue;

        return(date);
    }