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); }
相關文章
- 公曆日期轉農曆日期
- js獲取今天到前7天日期並輸出JS
- Python 輸出當前日期和時間Python
- 輸出當前分支的最新commit IDMIT
- jQuery手機移動端農曆公曆日期時間選擇程式碼jQuery
- vue之實現日曆----顯示農曆,滾動日曆監聽年月改變Vue
- 獲取當前時間往前的日期
- JS中1900-2100區間內的公曆、農曆互轉的工具類JS
- 我想用 JS 實現 0.1 + 0.2 輸出 0.3JS
- 使用JavaScript實現獲取當前日期JavaScript
- 原生js 實現輸入框emoji表情釋出JS
- angular 日期(陽曆)Angular
- win10系統如何設定時間日期顯示農曆Win10
- PbootCMS模板如何輸出當前頁面的完整URL地址boot
- 根據公曆計算農曆
- C語言學習日記(4)——輸出當前時間C語言
- win10 日曆怎麼顯示農曆_win10日曆不顯示農曆怎麼辦Win10
- win10電腦日曆怎麼顯示農曆_win10系統日曆顯示農曆的設定方法Win10
- python中實現輸入指定日期,判斷輸入日期這一天是星期幾Python
- PPM協議的輸出實現協議
- 用js獲取當前月份的天數JS
- js獲取當前的具體時間JS
- js_原生js獲取當前的使用者ipJS
- js中兩個日期大小比較,獲取當前日期,日期加減一天JS
- 獲取當前周、上一週、下一週日期
- Jquery對當前日期的操作(格式化當前日期)jQuery
- 直播軟體原始碼,js獲取n天前的日期原始碼JS
- 如何用js獲取當前時間和ip地址以及當前城市JS
- mysql中取系統當前時間,當前日期方便查詢判定的程式碼MySql
- Java取當前時間的一分鐘後,並格式化輸出Java
- 簡單實現Laravel獲取當前執行的SQLLaravelSQL
- qt中實現實時的顯示當前時刻的時間QT
- Android開發:獲取當前系統時間和日期的方法Android
- JS實現前臺表格排序功能JS排序
- js根據IP地址獲取當前的省市JS
- C#按照日期輸出程式日誌C#
- c#農曆開源庫C#
- jquery/js透過當前URL對當前欄目連結高亮顯示jQueryJS
- vue點選當前路由,如何實現重新整理當前頁Vue路由