C# 阳历与农历互转


阳历转农历

  System.Globalization命名空间下提供了专门用于计算中国农历的ChineseLunisolarCalendar类,从EastAsianLunisolarCalendar派生而来。

            ChineseLunisolarCalendar cncld = new ChineseLunisolarCalendar();
            DateTime dt = new DateTime(2020, 12, 15);
            int year = cncld.GetYear(dt);
            // 是否有闰月,返回正整数(2020年闰4月,返回值为5)
            int flag = cncld.GetLeapMonth(year);
            int month = flag > 0 ? cncld.GetMonth(dt) - 1 : cncld.GetMonth(dt);
            int day = cncld.GetDayOfMonth(dt);
            Console.WriteLine($"{dt:d},农历:{year}年{month}月{day}日");

农历转阳历

            DateTime dtnl = cncld.ToDateTime(year, month, day, 0, 0, 0, 0);
            dtnl = flag > 0 ? dtnl.AddMonths(1) : dtnl;
            Console.WriteLine($"{dtnl}");


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM