欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS獲取農歷日期具體實例

 更新時間:2013年11月14日 14:50:22   作者:  
這篇文章介紹了JS獲取農歷日期具體實例,有需要的朋友可以參考一下

復制代碼 代碼如下:

<script type="text/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) {
        //solarYear = solarYear<1900?(1900+solarYear):solarYear;
        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);
    }
    $(document).ready(function () {
        var d = GetCNDate();
        alert(d);
    });
</script>

相關文章

  • 深入了解JavaScript的邏輯運算符(與、或)

    深入了解JavaScript的邏輯運算符(與、或)

    本篇文章分享的是 JS 當中的邏輯運算符與、或,也就是 && 、 || ,沒錯,別看這簡簡單單的幾個運算符,雖然這是最基礎的知識,但其中隱藏的奧秘卻十分耐人尋味,接下來本文就為大家一一揭開這簡單的運算符背后的奇妙之處。
    2016-12-12
  • js實現(xiàn)圖片實時時鐘

    js實現(xiàn)圖片實時時鐘

    這篇文章主要為大家詳細介紹了js實現(xiàn)圖片實時時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • ES6中Math對象的部分擴展

    ES6中Math對象的部分擴展

    本文主要介紹了ES6中Math對象的部分擴展,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 微信小程序學習總結(二)樣式、屬性、模板操作分析

    微信小程序學習總結(二)樣式、屬性、模板操作分析

    這篇文章主要介紹了微信小程序樣式、屬性、模板操作,結合實例形式分析了微信小程序尺寸單位、樣式、數(shù)據初始化、屬性、模板調用相關操作技巧,需要的朋友可以參考下
    2020-06-06
  • 如何學JavaScript?前輩的經驗之談

    如何學JavaScript?前輩的經驗之談

    這篇文章主要介紹了如何學JavaScript?前輩的經驗之談,也就是怎么學前端的問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JavaScript實現(xiàn)判斷時間間隔是否連續(xù)為一天

    JavaScript實現(xiàn)判斷時間間隔是否連續(xù)為一天

    這篇文章主要為大家詳細介紹了如何使用JavaScript實現(xiàn)判斷時間間隔是否連續(xù)為一天,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2024-01-01
  • js刪除數(shù)組元素、清空數(shù)組的簡單方法(必看)

    js刪除數(shù)組元素、清空數(shù)組的簡單方法(必看)

    下面小編就為大家?guī)硪黄猨s刪除數(shù)組元素、清空數(shù)組的簡單方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • JavaScript利用crypto模塊實現(xiàn)加解密

    JavaScript利用crypto模塊實現(xiàn)加解密

    crypto模塊提供了加密功能,包含對 OpenSSL 的哈希、HMAC、加密、解密、簽名、以及驗證功能的一整套封裝。本文將利用它實現(xiàn)加解密算法,需要的可以參考一下
    2023-02-02
  • 淺談時鐘的生成(js手寫簡潔代碼)

    淺談時鐘的生成(js手寫簡潔代碼)

    下面小編就為大家?guī)硪黄獪\談時鐘的生成(js手寫簡潔代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • weebox彈出窗口不居中顯示的解決方法

    weebox彈出窗口不居中顯示的解決方法

    這篇文章主要為大家詳細介紹了weebox彈出窗口不居中顯示的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論