js實現的輸出當前農曆日期
有些比較中國傳統化的網站,可能日期會使用農曆形式展現,可能這樣的需求較少,但是並非沒有,下面就分享一段能夠實現這樣功能的程式碼例項,需喲的可以直接引用,當然也可以根據自己的需要進行修改。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼var CalendarData = new Array(100); var madd = new Array(12); var tgString = "甲乙丙丁戊己庚辛壬癸"; var dzString = "子醜寅卯辰巳午未申酉戌亥"; var numString = "一二三四五六七八九十"; var monString = "正二三四五六七八九十冬臘"; var weekString = "日一二三四五六"; var sx = "鼠牛虎兔龍蛇馬羊猴雞狗豬"; var cYear, cMonth, cDay, TheDate; CalendarData = new Array(0xA4B, 0x5164B, 0x6A5, 0x6D4, 0x415B5, 0x2B6, 0x957, 0x2092F, 0x497, 0x60C96, 0xD4A, 0xEA5, 0x50DA9, 0x5AD, 0x2B6, 0x3126E, 0x92E, 0x7192D, 0xC95, 0xD4A, 0x61B4A, 0xB55, 0x56A, 0x4155B, 0x25D, 0x92D, 0x2192B, 0xA95, 0x71695, 0x6CA, 0xB55, 0x50AB5, 0x4DA, 0xA5B, 0x30A57, 0x52B, 0x8152A, 0xE95, 0x6AA, 0x615AA, 0xAB5, 0x4B6, 0x414AE, 0xA57, 0x526, 0x31D26, 0xD95, 0x70B55, 0x56A, 0x96D, 0x5095D, 0x4AD, 0xA4D, 0x41A4D, 0xD25, 0x81AA5, 0xB54, 0xB6A, 0x612DA, 0x95B, 0x49B, 0x41497, 0xA4B, 0xA164B, 0x6A5, 0x6D4, 0x615B4, 0xAB6, 0x957, 0x5092F, 0x497, 0x64B, 0x30D4A, 0xEA5, 0x80D65, 0x5AC, 0xAB6, 0x5126D, 0x92E, 0xC96, 0x41A95, 0xD4A, 0xDA5, 0x20B55, 0x56A, 0x7155B, 0x25D, 0x92D, 0x5192B, 0xA95, 0xB4A, 0x416AA, 0xAD5, 0x90AB5, 0x4BA, 0xA5B, 0x60A57, 0x52B, 0xA93, 0x40E95); madd[0] = 0; madd[1] = 31; madd[2] = 59; madd[3] = 90; madd[4] = 120; madd[5] = 151; madd[6] = 181; madd[7] = 212; madd[8] = 243; madd[9] = 273; madd[10] = 304; madd[11] = 334; function GetBit(m, n){return (m >> n) & 1;} function e2c() { TheDate=(arguments.length != 3) ? new Date() : new Date(arguments[0], arguments[1], arguments[2]); var total, m, n, k; var isEnd = false; var tmp = TheDate.getYear(); if (tmp < 1900){tmp += 1900;} total = (tmp - 1921) * 365 + Math.floor((tmp - 1921) / 4) + madd[TheDate.getMonth()] + TheDate.getDate() - 38; if (TheDate.getYear() % 4 == 0 && TheDate.getMonth() > 1){total++;} for (m = 0; ; m++) { k = (CalendarData[m] < 0xfff) ? 11 : 12; for (n = k; n >= 0; n--) { if (total <= 29 + GetBit(CalendarData[m], n)) {isEnd = true; break; } total = total - 29 - GetBit(CalendarData[m], n); } if (isEnd) break; } cYear = 1921 + m; cMonth = k - n + 1; cDay = total; if (k == 12) { if (cMonth == Math.floor(CalendarData[m] / 0x10000) + 1) {cMonth = 1 - cMonth;} if (cMonth > Math.floor(CalendarData[m] / 0x10000) + 1) {cMonth--;} } } function GetcDateString() { var tmp = ""; tmp += tgString.charAt((cYear - 4) % 10); tmp += dzString.charAt((cYear - 4) % 12); tmp += "("; tmp += sx.charAt((cYear - 4) % 12); tmp += ")年 "; if (cMonth < 1) { tmp += "(閏)"; tmp += monString.charAt(-cMonth - 1); } else { tmp += monString.charAt(cMonth - 1); } tmp += "月"; tmp += (cDay < 11) ? "初" : ((cDay < 20) ? "十" : ((cDay < 30) ? "廿" : "三十")); if (cDay % 10 != 0 || cDay == 10) { tmp += numString.charAt((cDay - 1) % 10); } return tmp; } function GetLunarDay(solarYear, solarMonth, solarDay) { if (solarYear < 1921 || solarYear > 2020) { return ""; } else { solarMonth = (parseInt(solarMonth) > 0) ? (solarMonth - 1) : 11; e2c(solarYear, solarMonth, solarDay); return GetcDateString(); } } //呼叫 var D = new Date(); var yy = D.getFullYear(); var mm = D.getMonth() + 1; var dd = D.getDate(); var ww = D.getDay(); var ss = parseInt(D.getTime() / 1000); if (yy < 100) yy = "19" + yy; function GetCNDate() { return GetLunarDay(yy, mm, dd); } window.onload=function() { var d = GetCNDate(); alert(d); }
相關文章
- 公曆日期轉農曆日期
- 實現陽曆和農曆顯示日期的javascript程式碼JavaScript
- js如何計算當前日期指定天數前的日期JS
- js獲取今天到前7天日期並輸出JS
- 輸出當前分支的最新commit IDMIT
- Python 輸出當前日期和時間Python
- Win10系統日曆應用顯示農曆日期的方法【圖文】Win10
- java獲取當前秒數輸出Java
- JavaScript 實現日曆式日期選擇 (轉)JavaScript
- jQuery手機移動端農曆公曆日期時間選擇程式碼jQuery
- vue之實現日曆----顯示農曆,滾動日曆監聽年月改變Vue
- wordpress 輸出呼叫當前模板檔案的路徑
- js獲取指定時間日期和當前時間日期的相差多少時間JS
- js實現的獲取當前日期時間的程式碼例項JS
- js實現的微信獲取當前網路連線型別JS型別
- PHP獲取農曆、陽曆轉陰曆PHP
- js實現的獲取指定時間前幾天日期程式碼例項JS
- js獲取當前日期JS
- 我想用 JS 實現 0.1 + 0.2 輸出 0.3JS
- 使用JavaScript實現獲取當前日期JavaScript
- pbootcms模板如何輸出當前頁面的完整url地址boot
- 根據公曆計算農曆
- win10系統如何設定時間日期顯示農曆Win10
- JS實現點選按鈕複製當前介面的URLJS
- 原生js實現的獲取當前元素的上一個元素節點JS
- js實現的幾天前或者幾月前去年等時間日期提示資訊JS
- angular 日期(陽曆)Angular
- js實現的輸出雙引號程式碼例項JS
- 農曆的演算法 (轉)演算法
- 原生js 實現輸入框emoji表情釋出JS
- js實現的判斷當前瀏覽器是否flash程式碼例項JS瀏覽器
- js實現滑鼠懸浮將當前內容寫入其他元素JS
- 一條sql輸出本年日曆SQL
- TypeScript 2 : 獲取當前日期及前後範圍日期【Array】TypeScript
- JS中1900-2100區間內的公曆、農曆互轉的工具類JS
- win10 日曆怎麼顯示農曆_win10日曆不顯示農曆怎麼辦Win10
- win10電腦日曆怎麼顯示農曆_win10系統日曆顯示農曆的設定方法Win10
- C語言學習日記(4)——輸出當前時間C語言