C#项目获取当前时间的农历时间
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C#项目获取当前时间的农历时间
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                
                            
                            
                            using System.Globalization;class CnCanlendar_nongli{/// <summary> /// 實(shí)例化一個(gè)  ChineseLunisolarCalendar     /// </summary>private static ChineseLunisolarCalendar ChineseCalendar = new ChineseLunisolarCalendar();/// <summary>/// 十天干/// </summary>private static string[] tg = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" };/// <summary>///  十二地支///  </summary>private static string[] dz = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" };/// <summary>/// 十二生肖/// </summary>private static string[] sx = { "鼠", "牛", "虎", "兔", "龍", "蛇", "馬", "羊", "猴", "雞", "狗", "豬" };/// <summary>///  返回農(nóng)歷天干地支年///   </summary>///    <param name="year">農(nóng)歷年</param>///    <returns></returns>public static string GetLunisolarYear(int year){if (year > 3){int tgIndex = (year - 4) % 10;int dzIndex = (year - 4) % 12;return string.Concat(tg[tgIndex], dz[dzIndex], "[", sx[dzIndex], "]");}throw new ArgumentOutOfRangeException("無效的年份!");}/// <summary>/// 農(nóng)歷月/// </summary>/// <returns></returns>private static string[] months = { "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二(臘)" };/// <summary>/// 農(nóng)歷日/// </summary>private static string[] days1 = { "初", "十", "廿", "三" };/// <summary>///  農(nóng)歷日/// </summary>private static string[] days = { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十" };/// <summary>/// 返回農(nóng)歷月/// </summary>/// <param name="month">月份</param>/// <returns></returns>public static string GetLunisolarMonth(int month){if (month < 13 && month > 0){return months[month - 1];}throw new ArgumentOutOfRangeException("無效的月份!");}/// <summary>/// 返回農(nóng)歷日/// </summary>/// <param name="day">天</param>/// <returns></returns>public static string GetLunisolarDay(int day){if (day > 0 && day < 32){if (day != 20 && day != 30){return string.Concat(days1[(day - 1) / 10], days[(day - 1) % 10]);}else{return string.Concat(days[(day - 1) / 10], days1[1]);}}throw new ArgumentOutOfRangeException("無效的日!");}/// <summary> /// 根據(jù)公歷獲取農(nóng)歷日期/// </summary>/// <param name="datetime">公歷日期</param>/// <returns></returns>public static string GetChineseDateTime(DateTime datetime){//農(nóng)歷的年月日int year = ChineseCalendar.GetYear(datetime);int month = ChineseCalendar.GetMonth(datetime);int day = ChineseCalendar.GetDayOfMonth(datetime);//獲取閏月, 0 則表示沒有閏月 int leapMonth = ChineseCalendar.GetLeapMonth(year);bool isleap = false;if (leapMonth > 0){if (leapMonth == month){//閏月     isleap = true;month--;}else if (month > leapMonth){month--;}}return string.Concat(GetLunisolarYear(year), "年", isleap ? "閏" : string.Empty, GetLunisolarMonth(month), "月", GetLunisolarDay(day));}}
                            
                        
                        
                        總結(jié)
以上是生活随笔為你收集整理的C#项目获取当前时间的农历时间的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 数学趣题
 - 下一篇: 1元课,学会小学数学应用题,你的孩子也能