`
yezhiqiu-love
  • 浏览: 169269 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js 带农历的日期时间

阅读更多

       

效果如:

<script></script>  2010年11月17日 星期三 农历十月十二

 

 

 

代码如:

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>带农历的JavaScript日期时间</title>
</head>
<body>
<SCRIPT language=JavaScript>
<!--
function CalConv()
 {
 FIRSTYEAR = 1998;
 LASTYEAR = 2031;
 today = new Date();
 SolarYear = today.getFullYear();
 SolarMonth = today.getMonth() + 1;
 SolarDate = today.getDate();
 Weekday = today.getDay();
 LunarCal = [
 new tagLunarCal( 27, 5, 3, 43, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 ),
 new tagLunarCal( 46, 0, 4, 48, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1 ), /* 88 */
 new tagLunarCal( 35, 0, 5, 53, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1 ), /* 89 */
 new tagLunarCal( 23, 4, 0, 59, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 42, 0, 1, 4, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 31, 0, 2, 9, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0 ),
 new tagLunarCal( 21, 2, 3, 14, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1 ), /* 93 */
 new tagLunarCal( 39, 0, 5, 20, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 28, 7, 6, 25, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1 ),
 new tagLunarCal( 48, 0, 0, 30, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1 ),
 new tagLunarCal( 37, 0, 1, 35, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1 ), /* 97 */
 new tagLunarCal( 25, 5, 3, 41, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),
 new tagLunarCal( 44, 0, 4, 46, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),
 new tagLunarCal( 33, 0, 5, 51, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 22, 4, 6, 56, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ), /* 101 */
 new tagLunarCal( 40, 0, 1, 2, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ),
 new tagLunarCal( 30, 9, 2, 7, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 49, 0, 3, 12, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 38, 0, 4, 17, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0 ), /* 105 */
 new tagLunarCal( 27, 6, 6, 23, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1 ),
 new tagLunarCal( 46, 0, 0, 28, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0 ),
 new tagLunarCal( 35, 0, 1, 33, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ),
 new tagLunarCal( 24, 4, 2, 38, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ), /* 109 */
 new tagLunarCal( 42, 0, 4, 44, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 31, 0, 5, 49, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 ),
 new tagLunarCal( 21, 2, 6, 54, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 40, 0, 0, 59, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1 ), /* 113 */
 new tagLunarCal( 28, 6, 2, 5, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0 ),
 new tagLunarCal( 47, 0, 3, 10, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1 ),
 new tagLunarCal( 36, 0, 4, 15, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1 ),
 new tagLunarCal( 25, 5, 5, 20, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ), /* 117 */
 new tagLunarCal( 43, 0, 0, 26, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 ),
 new tagLunarCal( 32, 0, 1, 31, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0 ),
 new tagLunarCal( 22, 3, 2, 36, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0 ) ];
 /* 民国年月日 */
 SolarCal = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
SolarDays = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365, 396, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366, 397 ]; 
 
 if ( SolarYear <= FIRSTYEAR || SolarYear > LASTYEAR ) return 1;
 sm = SolarMonth - 1;
  if ( sm < 0 || sm > 11 ) return 2;
  leap = GetLeap( SolarYear );
 if ( sm == 1 )
  d = leap + 28;
 else
  d = SolarCal[sm];
 if ( SolarDate < 1 || SolarDate > d ) return 3;
 y = SolarYear - FIRSTYEAR;
 acc = SolarDays[ leap*14 + sm ] + SolarDate;
 kc = acc + LunarCal[y].BaseKanChih;
 Kan = kc % 10;
 Chih = kc % 12;
 
 Age = kc % 60;
 if ( Age < 22 )
  Age = 22 - Age;
 else
  Age = 82 - Age;
 
 if ( acc <= LunarCal[y].BaseDays ) {
  y--;
  LunarYear = SolarYear - 1;
  leap = GetLeap( LunarYear );
  sm += 12;
  acc = SolarDays[leap*14 + sm] + SolarDate;
  }
 else
  LunarYear = SolarYear;
   l1 = LunarCal[y].BaseDays;
 for ( i=0; i<13; i++ ) {
  l2 = l1 + LunarCal[y].MonthDays[i] + 29;
  if ( acc <= l2 ) break;
  l1 = l2;
  }
 LunarMonth = i + 1;
 LunarDate = acc - l1;
 im = LunarCal[y].Intercalation;
 if ( im != 0 && LunarMonth > im ) {
  LunarMonth--;
  if ( LunarMonth == im ) LunarMonth = -im;
  }
 if ( LunarMonth > 12 ) LunarMonth -= 12;
 today=new Date();
 function initArray(){
 this.length=initArray.arguments.length
 for(var i=0;i<this.length;i++)
 this[i+1]=initArray.arguments[i] }
 var d=new initArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
 document.write("", today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日&nbsp;",d[today.getDay()+1],"");
  months = ["一","二","三","四","五","六","七","八","九","十","十一","十二"];
  days = ["初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"];
 document.write( "&nbsp;农历"+months[LunarMonth-1]+"月" + days[LunarDate-1] + "");
 return 0;
}
 /* 是否有闰年, 0 平年, 1 闰年 */
function GetLeap( year )
 {
 if ( year % 400 == 0 )
 return 1;
 else if ( year % 100 == 0 )
 return 0;
 else if ( year % 4 == 0 )
 return 1;
 else
 return 0;
 }
function tagLunarCal( d, i, w, k, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13) {
 this.BaseDays = d;
 this.Intercalation = i; /* 0代表此年沒有闰月 */
 this.BaseWeekday = w; /* 民国1月1日星期減 1 */
 this.BaseKanChih = k; /* 民国1月1日干支序号减 1 */
 this.MonthDays = [ m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13 ]; /* 此農曆年每月之大小, 0==小月(29日), 1==大月(30日) */
}
//-->
</SCRIPT>
<a target=_blank href=/><FONT color=#0066cc><SCRIPT>CalConv();</SCRIPT></FONT></a>
</body>
</html>

 

 

分享到:
评论

相关推荐

    带农历的js日期源码

    本文将深入探讨“带农历的js日期源码”这一主题,帮助开发者理解如何在JavaScript中实现农历日期功能。 首先,JavaScript原生并不支持农历日期处理,因此我们需要引入额外的库或者自定义函数来实现这个功能。这款...

    带农历的JavaScript日期时间

    带农历的JavaScript日期时间! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/

    js农历日期.rarjs农历日期.rar

    "js农历日期.rar"可能是一个包含资源的压缩包,其中的"js农历日期.html"可能是展示或实现JavaScript农历日期转换的一个示例文件。下面将详细讨论JavaScript处理农历日期的相关知识点。 1. **JavaScript内置日期对象...

    易语言JS取农历日期

    在这个“易语言JS取农历日期”的项目中,我们主要关注的是如何在易语言环境中利用JavaScript获取并转换农历日期。 JavaScript是一种广泛应用于网页和网络应用的脚本语言,它通常与HTML和CSS一起工作,用于创建动态...

    jQuery手机端HTML5带农历日期选择插件jQuery移动端日历插件swiper.js

    农历转换算法可能被嵌入到JavaScript代码中,以便将公历日期与农历日期对应起来,并在日历上同时显示。 iPhone的滚轮选择样式是一种模仿iOS设备日期选择器的交互方式,它提供了一种直观的日期选择体验。在插件中,...

    原生js万年历农历日期代码

    在JavaScript编程中,实现一个万年历功能,特别是包括农历日期转换的部分,涉及到多个关键知识点。下面我们将深入探讨这些技术细节: 1. **日期对象**:JavaScript中的`Date`对象是处理日期和时间的基础。虽然它...

    JS取农历日期.rar

    JS取农历日期.rar

    js公历日期转农历日期.txt

    ### js公历日期转农历日期知识点详解 #### 1. 背景介绍 在日常生活中,农历(阴历)与公历(阳历)之间的转换对于节日庆祝、传统活动等有着重要的意义。例如,春节、中秋节等中国传统节日都是根据农历来确定日期的...

    带节日节气农历的js万年历日期控件

    它能够在网页上展示完整的农历日期,同时标出各种节日和节气,为用户提供便捷的日历查看和选择体验。开发者可以利用JavaScript的日期对象和自定义插件功能来实现这样的控件,通过编程实现对不同历法、节日和节气的...

    js显示时间 农历 节日节气 - 自动刷新不带格式

    另一种方法是利用第三方库,如 `chinese-calendar`,它可以提供农历日期、节日和节气信息。 5. **自动刷新** 要实现时间的自动刷新,可以使用 `setInterval` 函数,每隔一定时间(如1秒)更新页面上的时间显示。...

    各种JS日期控件 还带阴历哦

    实现阴历功能通常需要额外的算法库,比如Chinese Lunar Calendar,它可以将公历日期转换为农历日期,反之亦然。 3. **文件列表解析**: - **一个不错的农历js - guoqiang3957的日志 - 网易博客.htm**:这可能是一...

    显示农历的日期时间代码

    本文将详细讲解如何实现一个显示农历日期时间的代码,以及如何根据需求调整显示的详细程度。 首先,我们需要理解农历和公历的区别。公历(阳历)是我们日常生活中普遍使用的国际标准历法,而农历(阴历)则根据月亮...

    原生js万年历农历日期代码.zip

    原生JavaScript实现的万年历农历日期代码是一个实用的编程资源,主要针对前端开发者,特别是那些需要在网页中展示日期信息的项目。这个代码库利用纯JavaScript语言,不依赖任何外部库,如jQuery或其他类似的框架,...

    js万年历带农历节日代码.zip

    【描述】"js万年历带农历节日代码" 指出这是一个轻量级且实用的解决方案,用于在网页上展示完整的日期信息,包括公历日期和对应的农历日期,并且能够显示重要的农历节日。这对于那些需要在网页上集成日历功能,尤其...

    js实现在网页上展示农历日历

    在`showDateWithChinesecalendar.js`文件中,可能会包含一个名为`getChineseCalendar`的函数,该函数接收公历日期作为参数,返回对应的农历日期对象。你可以通过调试这个函数,理解其内部逻辑,以便在自己的项目中...

    微信小程序农历阳历日期选择器选中日期同时获取对应农/阳历日期

    首先,我们要创建两个日期选择器,一个用于选择阳历日期,另一个用于选择农历日期。这两个选择器可以通过同一个事件响应函数进行关联,当用户在任一选择器中选择日期后,都会触发该函数。 在事件响应函数中,我们...

    易语言JS取农历日期源码

    在给定的标题“易语言JS取农历日期源码”中,我们可以理解到这个源码是关于在易语言环境中通过JavaScript(JS)获取农历日期的代码。JavaScript是一种广泛用于网页和网络应用的脚本语言,它可以与易语言结合,提供...

    农历日期控件解决方案

    本文主要探讨的是农历日期控件的解决方案,主要用于处理农历与公历之间的转换,这对于支持中国等使用农历的国家和地区尤其重要。下面我们将详细讲解农历日期控件的实现方法以及涉及到的技术要点。 首先,为了实现...

    日期显示JS代码--年月日-时分秒--农历全部显示.rar_AEWK_JS 日期显示_instrumentout_农历日期

    在这个压缩包文件"日期显示JS代码--年月日-时分秒--农历全部显示.rar_AEWK_JS 日期显示_instrumentout_农历日期"中,包含的是一个能够显示日期和时间,包括农历日期的JavaScript代码实现。这个功能对于中国的互联网...

    jQery 日历 带农历显示

    例如,可能会有一个JavaScript函数,接受公历日期作为输入,然后输出对应的农历日期。 在描述中提到“结构可定制”,这意味着用户可以根据自己的需求自定义日历的布局和样式。这可能通过提供配置选项或允许用户覆盖...

Global site tag (gtag.js) - Google Analytics