C 實現農曆日曆的方法

2022-09-26 07:48:11 字數 1894 閱讀 5834

具體實現方法如下:

複製** **如下:

//天乾 

private  static string tiangan =   ;    

//地支 

private  static string dizhi =     ;    

//十二生肖 

private  static string shengxiao = ;    

//農曆日期 

private  static string dayname =   ;    

//農曆月份

private static string monthname =  ;    

//公曆月計數天 

private  static int monthadd =      ; 

//農曆資料 

private static int lunardata =    ; 

///  

/// 獲取對應日期的農曆

///

///  

/// 公曆日期

////// 

public string getlunarcalendar(datetime dtday)

catch

int nthedate;

int nisend;

int k, m, n, nbit, i;

string calendar = string.empty;

xauxfxb  //計算到初始時間2023年2月8日的天數:1921-2-8(正月初一)  

nthedate = (year - 1921) * 365 + (year - 1921) / 4 + day + monthadd[month - 1] - 38;

if ((year % 4 == 0) && (month > 2)) nthedate += 1;

//計算天乾,地支,月,日

nisend = 0; m = 0; k = 0; n = 0;

while (nisend != 1)

& nthedate = nthedate - 29 - nbit; n = n - 1;

} if (nisend == 1) break; m = m + 1;

}year = 1921 + m; month = k - n + 1; day = nthedate;

#region 格式化日期顯示為三月廿四

if (k == 12)

//生肖//

calendar = shengxiao[(year - 4) % 60 % 12].tostring() + "年 ";

//   //            //天乾//   //

calendar += tiangan[(year - 4) % 60 % 10].tostring();

//   //            //地支//   //

calendar += dizhi[(year - 4) % 60 % 12].tostring() + " ";

////   //農曆月//

if (month < 1)

// calendar += "閏" + monthname[-1 * month].tostring() + "月";

&n程式設計客棧bsp;   else

calendar += monthname[month].tostring() + "月";

////   //農曆日// 

calendar += dayname[day].tostring() + "日";//// 

return calendar;////  

#endregion

本文標題: c#實現農曆日曆的方法

本文位址:

C 的Calendar 日曆(帶農曆),附原始碼

當我們需要在頁面中顯示某月的事項,或是選擇某一段日期時,常常要使用到日曆元件。這一元件同樣有著許多現成的類庫,然而親自動手開發乙個日曆,從中了解其實現原理也是非常必要的。在本例中我們就將製作一款非常經典的日曆元件。vc 的calendar 日曆 帶農曆 得演算法和資料部分是用純c 寫的,不涉及mfc...

C 實現的農曆演算法

農曆演算法簡介以及公式 一 節氣的計算 先給節氣進行編號,從近日點開始的第乙個節氣編為0,編號如下及其相應的月份如下 0 小寒 臘月 6 清明 三月 12 小暑 六月 18 寒露 九月 1 大寒 臘月 7 穀雨 三月 13 大暑 六月 19 霜降 九月 2 立春 正月 8 立夏 四月 14 立秋 七...

日曆收集,顯示當前的農曆 javascript

var bsyear var bsdate var bsweek var arrlen 8 陣列長度 var svalue 0 當年的秒數 var dayiy 0 當年第幾天 var miy 0 月份的下標 var iyear 0 年份標記 var dayim 0 當月第幾天 var spd 864...