LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

带农历的JavaScript日期时间

admin
2010年3月6日 0:34 本文热度 11968

带农历的JavaScript日期时间,增加了农历使这款代码更具实用性,很不错,不但有农历,而且还可以显示民国计年,可以判断显示闰月、闰年等,在页面上一行显示,有利于你的布局,若嫌代码有点长的话可以将JS部分另存,然后用到时候引入就行了。

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>

<title>

    带农历的JavaScript日期时间

</title>

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

 /* 民国年月日 Codes by / */

 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>


该文章在 2026/4/13 19:08:31 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-9  粤公网安备44030602007207号