Ejemplo n.º 1
0
        private void Jq2()
        {
            var jqs = new JieqiInfo[24];

            for (int i = 0; i < 24; i++)
            {
                jqs[i] = new JieqiInfo(_year, i);
            }

            All = jqs;
        }
Ejemplo n.º 2
0
        private void Jq()
        {
            for (int i = 0; i < 24; i++)
            {
                var jieqi = GetJieqi(_year, i);

                if (jieqi.DayOfYear > _date.DayOfYear)
                {
                    // i 表示的是下一个节气
                    switch (i)
                    {
                    case 0:     // 下一个节气在本年,前一个节气和当前节气在上一年
                        Previous = new JieqiInfo(_year - 1, 22);
                        Now      = new JieqiInfo(_year - 1, 23);
                        Next     = new JieqiInfo(_year, 0);
                        return;

                    case 1:     // 下一个节气和当前节气在本年,前一个节气在上一年
                        Previous = new JieqiInfo(_year - 1, 23);
                        Now      = new JieqiInfo(_year, 0);
                        Next     = new JieqiInfo(_year, 1);
                        return;

                    default:     // 下一个节气、前一个节气和当前节气在本年
                        Previous = new JieqiInfo(_year, i - 2);
                        Now      = new JieqiInfo(_year, i - 1);
                        Next     = new JieqiInfo(_year, i);
                        return;
                    }
                }
            }

            // 下一个节气在次年,前一个节气和当前节气在本年
            Previous = new JieqiInfo(_year, 22);
            Now      = new JieqiInfo(_year, 23);
            Next     = new JieqiInfo(_year + 1, 0);
        }