Example #1
0
        private void AddCItem(double jd, int year, int month, int day,
                              string[] months, string[] weekdays, string ext, string cdrName)
        {
            string s = ext + d2s(day, months[month - 1], year, weekdays[CalendarConverter.jwday(jd)]);

            AddItem(cdrName, s);
        }
Example #2
0
        private void AddCItem(double jd, int year, int month, int day,
                              string[] months, string[] weekdays, string ext, string calendar)
        {
            // jwday (sunday == 0)
            int jwday = CalendarConverter.jwday(jd);
            // all arrays in range [monday..sunday]
            int    weekDay = (jwday > 0) ? jwday - 1 : 6;
            string strDate = ext + string.Format("{0} {1} {2}, {3}", day, months[month - 1], year, weekdays[weekDay]);

            ListViewItem item = lvDates.Items.Add(calendar);

            item.SubItems.Add(strDate);
        }
Example #3
0
        private void qtc_DateSelected(object sender, DateRangeEventArgs e)
        {
            lvDates.BeginUpdate();
            try
            {
                string s;

                lvDates.Items.Clear();

                DateTime gdt = qtc.SelectionStart;
                double   jd  = CalendarConverter.gregorian_to_jd(gdt.Year, gdt.Month, gdt.Day);

                var dtx = CalendarConverter.jd_to_gregorian(jd);
                s = d2s(dtx.Day, CalendarData.ClassicMonths[dtx.Month - 1], dtx.Year, CalendarData.ClassicWeekdays[CalendarConverter.jwday(jd)]);
                AddItem(fPlugin.LangMan.LS(PLS.LSID_Cal_Gregorian), s);

                dtx = CalendarConverter.jd_to_julian(jd);
                s   = d2s(dtx.Day, CalendarData.ClassicMonths[dtx.Month - 1], dtx.Year, CalendarData.ClassicWeekdays[CalendarConverter.jwday(jd)]);
                AddItem(fPlugin.LangMan.LS(PLS.LSID_Cal_Julian), s);

                dtx = CalendarConverter.jd_to_hebrew(jd);
                s   = d2s(dtx.Day, CalendarData.HebrewMonths[dtx.Month - 1], dtx.Year, CalendarData.HebrewWeekdays[CalendarConverter.jwday(jd)]);
                AddItem(fPlugin.LangMan.LS(PLS.LSID_Cal_Hebrew), s);

                dtx = CalendarConverter.jd_to_islamic(jd);
                s   = d2s(dtx.Day, CalendarData.IslamicMonths[dtx.Month - 1], dtx.Year, CalendarData.IslamicWeekdays[CalendarConverter.jwday(jd)]);
                AddItem(fPlugin.LangMan.LS(PLS.LSID_Cal_Islamic), s);

                dtx = CalendarConverter.jd_to_persian(jd);
                s   = d2s(dtx.Day, CalendarData.PersianMonths[dtx.Month - 1], dtx.Year, CalendarData.PersianWeekdays[CalendarConverter.jwday(jd)]);
                AddItem(fPlugin.LangMan.LS(PLS.LSID_Cal_Persian), s);

                dtx = CalendarConverter.jd_to_indian_civil(jd);
                s   = d2s(dtx.Day, CalendarData.IndianCivilMonths[dtx.Month - 1], dtx.Year, CalendarData.IndianCivilWeekdays[CalendarConverter.jwday(jd)]);
                AddItem(fPlugin.LangMan.LS(PLS.LSID_Cal_Indian), s);

                dtx = CalendarConverter.jd_to_bahai(jd);
                s   = string.Format(fPlugin.LangMan.LS(PLS.LSID_BahaiCycles), dtx.BahaiMajor, dtx.BahaiCycle) + ", ";
                s   = s + d2s(dtx.Day, CalendarData.BahaiMonths[dtx.Month - 1], dtx.Year, CalendarData.BahaiWeekdays[CalendarConverter.jwday(jd)]);
                AddItem(fPlugin.LangMan.LS(PLS.LSID_Cal_Bahai), s);
            }
            finally
            {
                lvDates.EndUpdate();
            }
        }
Example #4
0
        public void Test_Common()
        {
            DateTime gdt = new DateTime(1990, 10, 10);
            string   s;

            double jd = CalendarConverter.gregorian_to_jd2(gdt.Year, gdt.Month, gdt.Day);

            Assert.AreEqual(2448175, jd); //

            jd = CalendarConverter.gregorian_to_jd2(-4713, 11, 24);
            Assert.AreEqual(0.0, jd); //


            jd = CalendarConverter.gregorian_to_jd(-4713, 11, 24);
            Assert.AreEqual(0.5, jd); // bad result! needs 0.0f!

            jd = CalendarConverter.gregorian_to_jd(gdt.Year, gdt.Month, gdt.Day);
            Assert.AreEqual(2448174.5, jd); // not checked!


            var dtx = CalendarConverter.jd_to_julian(jd);

            s = d2s(dtx.Day, CalendarData.ClassicMonths[dtx.Month - 1], dtx.Year, "");
            Assert.AreEqual("27 September 1990, ", s); // +

            dtx = CalendarConverter.jd_to_hebrew(jd);
            s   = d2s(dtx.Day, CalendarData.HebrewMonths[dtx.Month - 1], dtx.Year, CalendarData.HebrewWeekdays[CalendarConverter.jwday(jd)]);
            Assert.AreEqual("21 Tishri 5751, Dalet", s); // +

            dtx = CalendarConverter.jd_to_islamic(jd);
            s   = d2s(dtx.Day, CalendarData.IslamicMonths[dtx.Month - 1], dtx.Year, CalendarData.IslamicWeekdays[CalendarConverter.jwday(jd)]);
            Assert.AreEqual("20 Rabi`al-Awwal 1411, Al-'arb`a'", s); // +

            dtx = CalendarConverter.jd_to_persian(jd);
            s   = d2s(dtx.Day, CalendarData.PersianMonths[dtx.Month - 1], dtx.Year, CalendarData.PersianWeekdays[CalendarConverter.jwday(jd)]);
            Assert.AreEqual("18 Mehr 1369, Chaharshanbeh", s); // +

            dtx = CalendarConverter.jd_to_indian_civil(jd);
            s   = d2s(dtx.Day, CalendarData.IndianCivilMonths[dtx.Month - 1], dtx.Year, CalendarData.IndianCivilWeekdays[CalendarConverter.jwday(jd)]);
            Assert.AreEqual("18 Asvina 1912, Budhavara", s); // +

            dtx = CalendarConverter.jd_to_bahai(jd);
            s   = "major " + dtx.BahaiMajor.ToString() + ", cycle " + dtx.BahaiCycle.ToString() + ", ";
            s   = s + d2s(dtx.Day, CalendarData.BahaiMonths[dtx.Month - 1], dtx.Year, CalendarData.BahaiWeekdays[CalendarConverter.jwday(jd)]);
            Assert.AreEqual("major 1, cycle 8, 14 Mashíyyat 14, ‘Idál", s); // ???
        }