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

});

js 根据公历日期 算出农历_JS获取农历日期具体实例相关推荐

  1. 【js】根据出生日期算出年龄,获取最近几天日期,实现身份证计算生日,性别,年龄,深度比较两个对象是否相同

    /* 根据出生日期算出年龄*/ export function getAgeBirth(strBirthday) {let returnAgeconst strBirthdayArr = strBir ...

  2. 给定一个日期,算出上周五日期

    给定一个日期,算出上周五日期 DateTime dt=new DateTime();    for(double loop=0;loop<7;loop++)    {     dt=DateTi ...

  3. java中,根据指定日期显示出前n天的日期

    大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 今天分享的是:在java中,根据指定日期显示出前n天的日期 效果如下: 大家注意观察上面的时间,我传入的时间是:2022年5月9日21:28:03, ...

  4. 对指定日期计算出N天后的日期问题

    指定日期计算出N天后的日期问题 问题描述:先输入起始日期,再输入任意天数n,求n天后的日期. 源代码一(参考http://zhidao.baidu.com/linkurl=0BxF0QvTywzuRk ...

  5. html输入日期算出星座,java输入日期计算星座

    java输入日期计算星座 [2021-01-31 12:59:06]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...

  6. js 如何拿到后天的时间_js获取日期及日期相关js方法 积累总结

    js获取日期 常用如下: var date = new Date();//中国标准时间 var year = date.getFullYear();//获取完整的年份(4位) var month = ...

  7. java中怎么通过日期算出天数_Java如何通过计算两个日期的时间差来算出天数

    Java如何通过计算两个日期的时间差来算出天数,年月日,天数,时间,退房,时分 Java如何通过计算两个日期的时间差来算出天数 易采站长站,站长之家为您整理了Java如何通过计算两个日期的时间差来算出 ...

  8. html输入日期算出星座,通过日期计算星座

    分析和理解根据日期计算星座函数 本博客根据文章 原文出自CSDN 的文章,知识产权归原文作者所有! 起始月份 号数 星座 结束月份 号数 时间区间 12 22 摩羯座 1 19 12/22 - 1/1 ...

  9. js 根据公历日期 算出农历_一招教会你公历换算成农历,要不要试试看

    古代的历法是干支纪年,俗称农历或阴历,现在我们都统一采用公历的阿拉伯数字纪年.因此,就存在着一个历法的换算问题.当然,我们可以查历书就直接知道了,但是这个方法并不一定方便.现在告诉大家一个简单的口诀, ...

  10. js 根据公历日期 算出农历_给孩子过农历生日,还是阳历生日?家长不要盲从,看看这些再决定...

    生日的实质是一个纪念日,是庆祝每个孩子来到世界上的一天,也是母亲受苦的一天.过生日也可使孩子更懂得感恩母亲,所以,无论是对于孩子或父母来说,都有非常重要的意义. 对于生活在七八十年代的父母来说,通常是 ...

最新文章

  1. Java substring使用时有哪些注意事项?
  2. 【大数据教程】MapReduce基本架构、统计每个人三次考试成绩的最高分,统计每一个人花费的总流量、按地区,统计每一个人花费的总流量
  3. Linux系统管理技术手册——第6章 添加新用户
  4. BZOJ 2301: [HAOI2011]Problem b
  5. c语言下列循环的循环次数,在C语言中,若i=3,则语句 while (i) { i--; break;}的循环次数为 答案:1...
  6. CSS选择器优先级排列
  7. bootstraptable查看详情_bootstrap table detailView详情视图树形模式
  8. mac版本 sadptool_海康 设备 发现(SADPTool原理)
  9. Android和ios的区别
  10. 在OpenCV里车牌识别的方法1
  11. 外卖霸王餐返利小程序开发制作功能介绍
  12. SQL数据库性能胯了,换 SSD硬盘就能解决问题?
  13. Win32学习笔记 - WndProc回调函数
  14. 洛谷刷题C语言:数字反转、再分肥皂水、三角形面积、Apples Prologue/苹果和虫子、数的性质
  15. html转pdf之使用Paged.js加页眉页脚
  16. 金蝶EAS开发认证考试
  17. 运城学院公共计算机教学部办公室,运城学院公共计算机教学部.docx
  18. 已知圆柱体的底面半径c语言,C语言编程题带答案
  19. 黑白图片怎样上色?教你如何给黑白照片上色
  20. ASP.net的ItemDataBound事件与LinqToSql数据源关于e.Item.DataItem的类型

热门文章

  1. STM32F4+W25Q64实现一个U盘
  2. oel安装中文环境,Linux UTC,CST时间及修改时间
  3. Java如何得到时间格式dd-MMM-yy???
  4. 考勤统计表sql 某个项目在某个月的考勤统计
  5. 【图论-二分图】中山纪念中学暑期游Day15——【NOIP2013模拟联考3】沙耶的玩偶(doll)
  6. WHOIS查询检索,域名信息查询工具软件
  7. WIN10 注册表添加启动项
  8. HTML5软件设计大赛,我院成功举行第十七届山东省大学生软件设计大赛 HTML5创意应用命题决赛...
  9. html5进度条progress使用实例,HTML5中的进度条progress元素详解
  10. YIT-CTF—隐写术