日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#项目获取当前时间的农历时间

發布時間:2023/12/18 C# 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#项目获取当前时间的农历时间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
using System.Globalization;class CnCanlendar_nongli{/// <summary> /// 實例化一個 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>/// 返回農歷天干地支年/// </summary>/// <param name="year">農歷年</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>/// 農歷月/// </summary>/// <returns></returns>private static string[] months = { "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二(臘)" };/// <summary>/// 農歷日/// </summary>private static string[] days1 = { "初", "十", "廿", "三" };/// <summary>/// 農歷日/// </summary>private static string[] days = { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十" };/// <summary>/// 返回農歷月/// </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>/// 返回農歷日/// </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> /// 根據公歷獲取農歷日期/// </summary>/// <param name="datetime">公歷日期</param>/// <returns></returns>public static string GetChineseDateTime(DateTime datetime){//農歷的年月日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));}}

總結

以上是生活随笔為你收集整理的C#项目获取当前时间的农历时间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。