Esempio n. 1
0
        public void Test_GK()
        {
            double jd;
            int    year, month, day;

            const double needJD = 2448174.5; // 1990-10-10 [g], 1990-09-27 [j], 5751-07-21 [h]

            //for (int i = 0; i < 1000000; i++) {
            jd = CalendarConverter.gregorian_to_jd2(-4713, 11, 24);
            Assert.AreEqual(0.0, jd);

            jd = CalendarConverter.gregorian_to_jd(1990, 10, 10);
            Assert.AreEqual(needJD, jd);

            jd = CalendarConverter.julian_to_jd(1990, 09, 27);
            Assert.AreEqual(needJD, jd);

            jd = CalendarConverter.hebrew_to_jd(5751, 07, 21);
            Assert.AreEqual(needJD, jd);
            //}

            jd = CalendarConverter.gregorian_to_jd2(1990, 10, 10);
            CalendarConverter.jd_to_gregorian2((int)jd, out year, out month, out day);
            Assert.AreEqual(1990, year, "g2jd 1");
            Assert.AreEqual(10, month, "g2jd 2");
            Assert.AreEqual(10, day, "g2jd 3");
        }
Esempio n. 2
0
        public override string ToString()
        {
            int y = 0, m = 0, d = 0;

            if (HasKnownYear() || HasKnownMonth() || HasKnownDay())
            {
                int unmaskedVal = GetUnmaskedValue();
                CalendarConverter.jd_to_gregorian2(unmaskedVal, out y, out m, out d);
            }

            int sign = Math.Sign(y);

            y = Math.Abs(y);
            string sy = HasKnownYear() ? y.ToString().PadLeft(4, '0') : "????";

            if (sign == -1)
            {
                sy = "-" + sy;
            }

            string sm = HasKnownMonth() ? m.ToString().PadLeft(2, '0') : "??";
            string sd = HasKnownDay() ? d.ToString().PadLeft(2, '0') : "??";

            string result = string.Format("{0}/{1}/{2}", sy, sm, sd);

            if (IsApproximateDate())
            {
                result = "~" + result;
            }
            else if (IsDateBefore())
            {
                result = "<" + result;
            }
            else if (IsDateAfter())
            {
                result = ">" + result;
            }

            return(result);
        }