1.简单用法

<div align="center"> 
<SCRIPT language=JavaScript src="js/calendar.js"></SCRIPT>
</div>

2.源文件calendar.js

---------------------------------------------------------------------------------------------------------------------

function RunGLNL(){

var today=new Date();


var week=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");


var DDDD=today.getFullYear()+"年"+(today.getMonth()+1)+"月"+today.getDate()+"日";


DDDD = DDDD + " " + week[today.getDay()];


DDDD = DDDD+ " " + (CnDateofDateStr(today));


document.write("<font color=#FFFFFF>"+ DDDD +"</font>");

}

function DaysNumberofDate(DateGL){


return parseInt((Date.parse(DateGL)-Date.parse(DateGL.getFullYear()+"/1/1"))/86400000)+1;

}

function CnDateofDate(DateGL){


var CnData=new Array(


0x16,0x2a,0xda,0x00,0x83,0x49,0xb6,0x05,0x0e,0x64,0xbb,0x00,0x19,0xb2,0x5b,0x00,


0x87,0x6a,0x57,0x04,0x12,0x75,0x2b,0x00,0x1d,0xb6,0x95,0x00,0x8a,0xad,0x55,0x02,


0x15,0x55,0xaa,0x00,0x82,0x55,0x6c,0x07,0x0d,0xc9,0x76,0x00,0x17,0x64,0xb7,0x00,


0x86,0xe4,0xae,0x05,0x11,0xea,0x56,0x00,0x1b,0x6d,0x2a,0x00,0x88,0x5a,0xaa,0x04,


0x14,0xad,0x55,0x00,0x81,0xaa,0xd5,0x09,0x0b,0x52,0xea,0x00,0x16,0xa9,0x6d,0x00,


0x84,0xa9,0x5d,0x06,0x0f,0xd4,0xae,0x00,0x1a,0xea,0x4d,0x00,0x87,0xba,0x55,0x04


);


var CnMonth=new Array();


var CnMonthDays=new Array();


var CnBeginDay;


var LeapMonth;


var Bytes=new Array();


var I;


var CnMonthData;


var DaysCount;


var CnDaysCount;


var ResultMonth;


var ResultDay;


var yyyy=DateGL.getFullYear();


var mm=DateGL.getMonth()+1;


var dd=DateGL.getDate();

if ((yyyy < 1997) || (yyyy > 2020)){


return 0;


}

Bytes[0] = CnData[(yyyy - 1997) * 4];


Bytes[1] = CnData[(yyyy - 1997) * 4 + 1];


Bytes[2] = CnData[(yyyy - 1997) * 4 + 2];


Bytes[3] = CnData[(yyyy - 1997) * 4 + 3];


if ((Bytes[0] & 0x80) != 0) {


CnMonth[0] = 12;


}else {


CnMonth[0] = 11;


}

CnBeginDay = (Bytes[0] & 0x7f);


CnMonthData = Bytes[1];


CnMonthData = CnMonthData << 8;


CnMonthData = CnMonthData | Bytes[2];


LeapMonth = Bytes[3];

for (I=15;I>=0;I--){


CnMonthDays[15 - I] = 29;


if (((1 << I) & CnMonthData) != 0 ){


 CnMonthDays[15 - I]++;


}


if (CnMonth[15 - I] == LeapMonth ){


 CnMonth[15 - I + 1] = - LeapMonth;


}else{


if (CnMonth[15 - I] < 0 ){


CnMonth[15 - I + 1] = - CnMonth[15 - I] + 1;


}else {


CnMonth[15 - I + 1] = CnMonth[15 - I] + 1;


}


if (CnMonth[15 - I + 1] > 12 ){


CnMonth[15 - I + 1] = 1;


}


}


}

DaysCount = DaysNumberofDate(DateGL) - 1;

if (DaysCount <= (CnMonthDays[0] - CnBeginDay)){


if ((yyyy > 1901) && (CnDateofDate(new Date((yyyy - 1)+"/12/31")) < 0)){


ResultMonth = - CnMonth[0];


}else {


ResultMonth = CnMonth[0];


}


ResultDay = CnBeginDay + DaysCount;


}else{


CnDaysCount = CnMonthDays[0] - CnBeginDay;


I = 1;


while ((CnDaysCount < DaysCount) && (CnDaysCount + CnMonthDays[I] < DaysCount)){


CnDaysCount+= CnMonthDays[I];


I++;


}


ResultMonth = CnMonth[I];


ResultDay = DaysCount - CnDaysCount;


}

if (ResultMonth > 0){


return ResultMonth * 100 + ResultDay;


}else{


return ResultMonth * 100 - ResultDay;


}

}

function CnYearofDate(DateGL){


var YYYY=DateGL.getFullYear();


var MM=DateGL.getMonth()+1;


var CnMM=parseInt(Math.abs(CnDateofDate(DateGL))/100);


if(CnMM>MM) YYYY--;


YYYY-=1864;


return CnEra(YYYY)+"年";

}

function CnMonthofDate(DateGL){


var CnMonthStr=new Array("零","正","二","三","四","五","六","七","八","九","十","十一","十二");


var Month;


Month = parseInt(CnDateofDate(DateGL)/100);


if (Month < 0){


return "闰" + CnMonthStr[-Month] + "月";


}else{


return CnMonthStr[Month] + "月";


}

}

function CnDayofDate(DateGL){


var CnDayStr=new Array("零",


"初一", "初二", "初三", "初四", "初五",


"初六", "初七", "初八", "初九", "初十",


"十一", "十二", "十三", "十四", "十五",


"十六", "十七", "十八", "十九", "二十",


"廿一", "廿二", "廿三", "廿四", "廿五",


"廿六", "廿七", "廿八", "廿九", "三十");


var Day;


Day = (Math.abs(CnDateofDate(DateGL)))%100;


return CnDayStr[Day];

}

function DaysNumberofMonth(DateGL){


var MM1=DateGL.getFullYear();


var MM2=MM1;


MM1+="/"+(DateGL.getMonth()+1);


MM2+="/"+(DateGL.getMonth()+2);


MM1+="/1";


MM2+="/1";


return parseInt((Date.parse(MM2)-Date.parse(MM1))/86400000);

}

function CnEra(YYYY){


var Tiangan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");


//var Dizhi=new Array("子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龙)","巳(蛇)",


//"午(马)","未(羊)","申(猴)","酉(鸡)","戌(狗)","亥(猪)");


var Dizhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");


return Tiangan[YYYY%10]+Dizhi[YYYY%12];

}

function CnDateofDateStr(DateGL){


if(CnMonthofDate(DateGL)=="零月") return " 请调整您的计算机日期!";


else return "<font color='#FFFFFF'>"+CnYearofDate(DateGL)+ "" + CnMonthofDate(DateGL) + CnDayofDate(DateGL)+ "</font>";

}

function SolarTerm(DateGL){


var SolarTermStr=new Array(


"小寒","大寒","立春","雨水","惊蛰","春分",


"清明","谷雨","立夏","小满","芒种","夏至",


"小暑","大暑","立秋","处暑","白露","秋分",


"寒露","霜降","立冬","小雪","大雪","冬至");


var DifferenceInMonth=new Array(


1272060,1275495,1281180,1289445,1299225,1310355,


1321560,1333035,1342770,1350855,1356420,1359045,


1358580,1355055,1348695,1340040,1329630,1318455,


1306935,1297380,1286865,1277730,1274550,1271556);


var DifferenceInYear=31556926;


var BeginTime=new Date(1901/1/1);


BeginTime.setTime(947120460000);


for(;DateGL.getFullYear()<BeginTime.getFullYear();){


BeginTime.setTime(BeginTime.getTime()-DifferenceInYear*1000);


}


for(;DateGL.getFullYear()>BeginTime.getFullYear();){


BeginTime.setTime(BeginTime.getTime()+DifferenceInYear*1000);


}


for(var M=0;DateGL.getMonth()>BeginTime.getMonth();M++){


BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);


}


if(DateGL.getDate()>BeginTime.getDate()){


BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);


M++;


}


if(DateGL.getDate()>BeginTime.getDate()){


BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);


M==23?M=0:M++;


}


var JQ;


if(DateGL.getDate()==BeginTime.getDate()){


JQ=" 今天是<font color='#FFFFFF'><b>"+SolarTermStr[M] + "</b></font>";


}else if(DateGL.getDate()==BeginTime.getDate()-1){


JQ=" 明天是<font color='#FFFFFF'><b>"+SolarTermStr[M] + "</b></font>";


}else if(DateGL.getDate()==BeginTime.getDate()-2){


JQ=" 后天是<font color='#FFFFFF'><b>"+SolarTermStr[M] + "</b></font>";


}else{


JQ=" "


if(DateGL.getMonth()==BeginTime.getMonth()){


JQ+=" 本月";


}else{


JQ+=" 下月";


}


JQ+=BeginTime.getDate()+"日"+"<font color='#FFFFFF'><b>"+SolarTermStr[M]+"</b></font>";


}


return JQ;

}

RunGLNL();

--------------------------------------------------------------------------------------------------------------------------------------------------------

一个日期Js文件。 2013年10月12日 星期六 癸巳年九月初八的更多相关文章

  1. 系列文章:老项目的#iPhone6与iPhone6Plus适配#(持续更新中,更新日期2014年10月12日 星期日 )

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4020399.html ,转载请注明出处. ********************************** ...

  2. 北京Uber优步司机奖励政策(10月12日~10月18日)

    用户组:优步北京人民优步A组(适用于10月12日-10月18日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万 ...

  3. 2016年10月29日 星期六 --出埃及记 Exodus 19:14

    2016年10月29日 星期六 --出埃及记 Exodus 19:14 After Moses had gone down the mountain to the people, he consecr ...

  4. 2016年10月22日 星期六 --出埃及记 Exodus 19:6

    2016年10月22日 星期六 --出埃及记 Exodus 19:6 you will be for me a kingdom of priests and a holy nation.' These ...

  5. 2016年10月15日 星期六 --出埃及记 Exodus 18:26

    2016年10月15日 星期六 --出埃及记 Exodus 18:26 They served as judges for the people at all times. The difficult ...

  6. 2016年10月12日 星期三 --出埃及记 Exodus 18:23

    2016年10月12日 星期三 --出埃及记 Exodus 18:23 If you do this and God so commands, you will be able to stand th ...

  7. 2016年11月12日 星期六 --出埃及记 Exodus 20:3

    2016年11月12日 星期六 --出埃及记 Exodus 20:3 "You shall have no other gods before me.除了我以外,你不可有别的 神.

  8. 2016年10月12日--string、Math类、Random随机数、DateTime、异常保护

    string string.length; //得到string长度 string.Trim(); //去掉string前后的空格 string.TrimStart(); //去掉string前的空格 ...

  9. Android学习2013年10月11日

    1.LinearLayout http://www.cnblogs.com/salam/archive/2010/10/20/1856793.html LinearLayout是线性布局控件,它包含的 ...

随机推荐

  1. android开发 图片合成

    private static Bitmap compositeImages(Bitmap srcBitmap,Bitmap dstBitmap){ Bitmap bmp = null; //下面这个B ...

  2. 3、颜色的字符串、十进制、十六进制相互转换(color convert between dec、hex and string )

    int color_int=***; 1.(十进制整数)转换成(十六进制的字符串) String color_hex = String.format("#%06X", (0xFFF ...

  3. 前端之JavaScript第四天学习(10)-JavaScript-运算符

    运算符 = 用于赋值. 运算符 + 用于加值. 运算符 = 用于给 JavaScript 变量赋值. 算术运算符 + 用于把值加起来. y=5; z=2; x=y+z; 在以上语句执行后,x 的值是 ...

  4. Codeforces Beta Round #69 (Div. 1 Only) C. Beavermuncher-0xFF 树上贪心

    题目链接: http://codeforces.com/problemset/problem/77/C C. Beavermuncher-0xFF time limit per test:3 seco ...

  5. 802.11 wireless 五

    802.11 wireless 5CSMA/CA,采用倒计时的方法,退避的时间(当年时间+duration 为发送时间,每一个帧会有一个duration,这个位叫做duration[n.持续]) PS ...

  6. 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。

    // test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...

  7. vsm 的理解

    vsm相对于最原始的sm多了这样一个部分 if(depthcampare <=zInSM) fPercentLit  = 1;//noshadow; else { variance = zzIn ...

  8. <string>和<string.h>的区别

    转自:http://blog.csdn.net/houjixin/article/details/8648969 在C++开发过程中经常会遇到两个比较容易混淆的头文件引用#include<str ...

  9. nginx配置解读

    nginx.conf基本配置 ##Start. ##Basic 基础配置 user www www; #运行用户 worker_processes ; #启动进程,通常设置成和cpu的数量相等 wor ...

  10. atan atan2的区别!

    atan与atan2的使用=范围不一样! 今天调一一下午的BUG!终于发现了是ATAN的错! atan()函数: atan(y/x); 带一个参数!注意X不能为0,否则…………, 还有求出的角度为-p ...