1、具体工具类转换

/*

* 获取农历日期

*/
var CalendarData = new Array(100);
var madd = new Array(12);
var numString = "一二三四五六七八九十";
var monString = "正二三四五六七八九十冬腊";
var cYear, cMonth, cDay, TheDate;

// 农历每月仅仅能是29或30天,一年用12(或13)个二进制位表示,从高到低,相应位为1表示30天,否则29天

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 = "";

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();
}

}

2、调用进行设置

var myDate = new Date();

var yy = myDate.getFullYear();
var mm = myDate.getMonth() + 1;
var dd = myDate.getDate();

var nongli = GetLunarDay(yy, mm, dd);

这样就获取到农历日期了。

h5通过当前时间获取农历日期相关推荐

  1. LocalDateTime工具类:根据当前、周、月、季度、半年、年等维度获取时间hutool工具包获取农历日期,生肖,传统节日

    1. 简介 Java8提供了全新的日期处理包(java.time.*),根据Java8日期新特性封装日期时间工具类LocalDateTimeUtils. 2. 工具类方法目录 说明 方法名称 当前时间 ...

  2. php 获取农历,PHP通过新历获取农历日期的方法

    PHP通过新历获取农历日期的方法 array(8,0,0,0,0,0,0,0,0,0,0,0,29,30,7,1), 1=>array(0,29,30,29,29,30,29,30,29,30, ...

  3. js获取农历日期、节气等

    js获取农历日期.节气等信息的插件–solarlunar https://github.com/yize/solarlunar#readme 点我直达 npm install solarlunar / ...

  4. php获取农历日期节日

    $c = new DayService();$today=$c->convertSolarToLunar(date('Y'),date('m'),date('d'));$time =" ...

  5. 获取农历日期二十四节气以及节假日的js包

    相关需求,公司官网首页根据各种节日还有二十四节气进行显示不同的登录界面 本来想法是根据法定节假日来写的 可以写死 每年的五一国庆元旦教师节等节日日期,但是后来变成二十四节气农历日期就开始寻找办法,,找 ...

  6. mysql 获取农历年份_iOS 获取公历、农历日期的年月日

    iOS 获取公历.农历日期的年月日 介绍三种方法获取 Date (NSDate) 的年月日. 用 date 表示当前日期.测试日期为公历 2017 年 2 月 5 日,农历丁酉年,鸡年,正月初九. l ...

  7. java 获取阴历日期公历日期转农历日期或者阳历日期转阴历日期

    背景 项目中需要获取农历日期,展示在页面,不使用第三方工具类的情况下,直接使用原生的java api工具类开发 代码如下 package com.hidata.devops.paas;import j ...

  8. python mysql日期输出格式_Python/Shell/MySQL时间获取与格式转换

    一.说明 时间的获取及时间各格式间的转换是比较常用的操作,但一是多种语言经常容易弄混,二是同一种语言同一个功能可能有不同的实现函数,导致每次处理时间经常要百度所以来记录一下. 另外个人真不喜欢同样功能 ...

  9. 根据公历日期获取到农历日期信息(带星座)(C#)

    直接上码,都有注释说明 using System; using System.Collections.Generic; using System.Globalization; using System ...

  10. mysql 获取农历年份_php获取农历(阴历)、节日、节气的类的方法以及用法

    这篇文章主要介绍了php实现获取农历(阴历).节日.节气的类与用法,结合实例形式分析了php日期工具类Lunar的具体定义与获取农历日期.节气等相关操作技巧,需要的朋友可以参考下 具体如下: /* * ...

最新文章

  1. 在某些情况下明明添加了引用,为何VS还报错XXX不存在类型或命名空间(是否缺少程序集引用)...
  2. oracle10 监听日志,windows 清空oracle的监听日志listener.log
  3. 第二节:Css重写样式
  4. java移位运算 cpu gpu_关于java操作中的移位运算
  5. 被骂十几年,躺赚上千亿!这个“土匪”行业,还能浪多久?
  6. php 数组重新打乱_PHP 将数组打乱 shuffle 函数
  7. 知识蒸馏,中文文本分类,教师模型BERT,学生模型biLSTM
  8. python函数定义及调用-python 函数定义及调用
  9. tensorflow2.0:tf.keras.callbacks.EarlyStopping
  10. Java 将Excel转为OFD
  11. PostgreSql和MySql分组统计百分比
  12. 蓝牙温度检测系统(基于BT08-B蓝牙模块)
  13. 【python+selenium】保留浏览器的自定义设置,不恢复浏览器默认设置
  14. android 标注 比例换算,Android APP界面标注、尺寸换算和APP标注工具
  15. springboot 集成 grpc 和 protobuf(二) | 在实际项目中使用 grpc 和 protobuf
  16. java程序员生日祝福语_给朋友过生日的祝福语
  17. 004_simulink建立子系统
  18. CC++数组练习题(头歌)朋友圈点赞
  19. 用python完成商品的名称、价格表显示,用户选择商品并统计结果
  20. 牛腩新闻系统--.NET使用一般处理程序生成验证码

热门文章

  1. 华为云内网DNS地址大全(不同区域DNS地址)
  2. 计算机系统原理实验:模型机(十)ttime部分
  3. c语言驻波,C版:基于声学驻波的液位检测方法C2-1(备份存档)
  4. 利用matlab实现驻波仿真
  5. 20款优秀的免费 WordPress 企业主题
  6. 如何从零开始建立起一个公司的运维体系?
  7. 全国计算机三级网络技术题,全国计算机三级网络技术大题技巧
  8. icom对讲机写频线定义_哈罗CQ火腿社区 - QRP and DIY - 各种写频线的资料,放上来备用吧 - Powered by phpwind...
  9. 实验8.1 时间换算
  10. SystemError: Negative size passed to PyUnicode_New