zoukankan      html  css  js  c++  java
  • js获取当前农历时间

    <template>
      <div class="gaia-header">
        <img alt="gaia_logo" src="../../assets/gaia_logo.png">
        <div class="hello-user">
          <p>{{datetime}} 星期{{week}} {{nongli}} </p>
        </div>
        <div class="out-login">
          <slot></slot>
          <span>
            <i class="iconfont icon-dianyuan1"></i>
          </span>
        </div>
      </div>
    </template>
    
    <script>
    import DateTool from "@/components/common/date"; //时间
    
    export default {
      name: "gaiaheader",
      mounted() {
        this.newtime();
        this.weeks();
        this.hdnongli();
      },
      data() {
        return {
          datetime: "2018年11月25日",
          week: "星期几",
          nongli: "戊戌年"
        };
      },
      methods: {
        newtime() {
          // let date = new Date(DateTool.formatTimeToStr(new Date(), "yyyy-MM-dd"));
          // date = new Date(date.getTime(date) - 8 * 60 * 60000);
          let date = new Date().Format("yyyy年MM月dd日");
          this.datetime = date;
        },
        weeks() {
          let weekAarry = ["日", "一", "二", "三", "四", "五", "六"];
          let week = weekAarry[new Date().getDay()];
          this.week = week;
        },
        hdnongli() {
          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 showCal() {
            let nonglitime = GetLunarDay(yy, mm, dd);
            return nonglitime;
          }
          this.nongli = showCal()
        }
      }
    };
    </script>
    
    <style scoped lang="less">
    .gaia-header {
       100%;
      height: 48px;
      background-color: #192233;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: #fff;
      font-size: 12px;
      .hello-user {
        text-align: center;
         40%;
        line-height: 24px;
      }
      .out-login {
        float: right;
        font-size: 14px;
        span {
          margin-right: 20px;
          cursor: pointer;
          i {
            color: #56b8e9;
            margin-right: 6px;
            vertical-align: middle;
          }
          u {
            text-decoration: none;
          }
        }
        .icon-dianyuan1 {
          color: #f56262;
        }
      }
    }
    </style>

    获取当前的农历时间在vue中使用。

    <template>
    <div class="gaia-header">
    <img alt="gaia_logo" src="../../assets/gaia_logo.png">
    <div class="hello-user">
    <p>{{datetime}} 星期{{week}} {{nongli}} </p>
    </div>
    <div class="out-login">
    <slot></slot>
    <span>
    <i class="iconfont icon-dianyuan1"></i>
    </span>
    </div>
    </div>
    </template>

    <script>
    import DateTool from "@/components/common/date"; //时间

    export default {
    name: "gaiaheader",
    mounted() {
    this.newtime();
    this.weeks();
    this.hdnongli();
    },
    data() {
    return {
    datetime: "2018年11月25日",
    week: "星期几",
    nongli: "戊戌年"
    };
    },
    methods: {
    newtime() {
    // let date = new Date(DateTool.formatTimeToStr(new Date(), "yyyy-MM-dd"));
    // date = new Date(date.getTime(date) - 8 * 60 * 60000);
    let date = new Date().Format("yyyy年MM月dd日");
    this.datetime = date;
    },
    weeks() {
    let weekAarry = ["日", "一", "二", "三", "四", "五", "六"];
    let week = weekAarry[new Date().getDay()];
    this.week = week;
    },
    hdnongli() {
    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 showCal() {
    let nonglitime = GetLunarDay(yy, mm, dd);
    return nonglitime;
    }
    this.nongli = showCal()
    }
    }
    };
    </script>

    <style scoped lang="less">
    .gaia-header {
    width: 100%;
    height: 48px;
    background-color: #192233;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    font-size: 12px;
    .hello-user {
    text-align: center;
    width: 40%;
    line-height: 24px;
    }
    .out-login {
    float: right;
    font-size: 14px;
    span {
    margin-right: 20px;
    cursor: pointer;
    i {
    color: #56b8e9;
    margin-right: 6px;
    vertical-align: middle;
    }
    u {
    text-decoration: none;
    }
    }
    .icon-dianyuan1 {
    color: #f56262;
    }
    }
    }
    </style>
  • 相关阅读:
    一张大图看懂Mvc启动过程
    NopCommerce 3. Controller 分析
    NopCommerce 1. NopCommerce Application_Start启动过程
    sublime addons backup
    vs2012中使用localdb实例还原一个sql server 2008r2版本的数据库
    使用TestNG进行浏览器(IE、Chrome、FireFox)并发兼容性测试
    Selenium调用IE时报“The path to the driver executable must be set by the webdriver.ie.driver system property”
    启动带有用户配置信息的FireFox浏览器
    Selenium_Chrome浏览器调用
    Selenium_IE11_FireFox调用实例
  • 原文地址:https://www.cnblogs.com/cqy1125/p/10814954.html
Copyright © 2011-2022 走看看