JS获取当前时间 格式 年月日 星期几 显示阴历日期 节气
显示结果格式:2013年07月06日 星期六 农历癸巳年 五月廿八 明日 小暑
调用格式:
//获取当前时间
var nowDateInfo = getNowDate();
//$("#nowDateInfo").html(nowDateInfo);
document.getElementById("nowDateInfo").innerHTML = nowDateInfo;
2, JS代码如下:
function getNowDate(){
var today=new Date();
var d=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
var nowDate= "";
nowDate = showLocale();// 获取当前时间 年月日 时分秒
nowDate = nowDate+ " "+ d[today.getDay()];// 获取当前星期
nowDate = nowDate+ " "+ (CnDateofDateStr(today)); // 显示农历
nowDate = nowDate+ " " +SolarTerm(today); // 显示二十四节气
return nowDate;
}
function showLocale(){
var str;
var objD;
objD = new Date();
var yy = objD.getYear();
if(yy<1900){
yy = yy+1900;
}
var MM = objD.getMonth()+1;
if(MM<10){
MM = '0' + MM;
}
var dd = objD.getDate();
if(dd<10){
dd = '0' + dd;
}
var hh = objD.getHours();
if(hh<10){
hh = '0' + hh;
}
var mm = objD.getMinutes();
if(mm<10){
mm = '0' + mm;
}
var ss = objD.getSeconds();
if(ss<10){
ss = '0' + ss;
}
var ww = objD.getDay();
// + hh + ":" + mm + ":" + ss +
str = yy + "年" + MM + "月" + dd + "日 ";
return(str);
}
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<100){
yyyy+=1900;
}
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(YYYY<100){
YYYY+=1900;
}
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();
MM1<100 ? MM1+=1900:MM1;
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("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");
return Tiangan[YYYY%10]+Dizhi[YYYY%12];
}
function CnDateofDateStr(DateGL){
if(CnMonthofDate(DateGL)=="零月"){
return " 请调整您的计算机日期!";
}else{
return "农历"+CnYearofDate(DateGL)+ " " + CnMonthofDate(DateGL) + CnDayofDate(DateGL);
}
}
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="二十四节气:";
var JQ = "" ;
if(DateGL.getDate()==BeginTime.getDate()){
JQ+=" 今日 <font color='#598F03'><b>"+SolarTermStr[M] + "</b></font>";
}else if(DateGL.getDate()==BeginTime.getDate()-1){
JQ+=" 明日 <font color='#598F03'><b>"+SolarTermStr[M] + "</b></font>";
}else if(DateGL.getDate()==BeginTime.getDate()-2){
JQ+=" 后日 <font color='#598F03'><b>"+SolarTermStr[M] + "</b></font>";
} else{
// JQ=" 二十四节气:";
JQ = "";
if(DateGL.getMonth()==BeginTime.getMonth()){
JQ+=" 本月";
} else{
JQ+=" 下月";
}
JQ+=BeginTime.getDate()+"日 "+"<font color='#598F03'><b>"+SolarTermStr[M]+"</b></font>";
}
return JQ;
}
相关推荐
在JavaScript(JS)编程中,处理...综上所述,通过JavaScript,我们可以轻松获取并显示当前的日期、时间、农历以及节日节气,并实现自动刷新。在实际项目中,结合合适的库和API,可以进一步优化功能,提高用户体验。
在给定的标题“js获取年月日农历24气节”和描述“js获取年月日农历、24气节、星期、出行描述”中,我们可以看到这些功能的实现是重点。下面我们将详细探讨如何使用JavaScript实现这些功能。 首先,我们需要了解农历...
在实际开发中,为了提升用户体验,还可以考虑增加日期的格式化功能,将日期展示为用户习惯的格式,如"年-月-日"或"农历xx月xx日"。同时,考虑到不同用户的使用习惯,日期选择器的设计应该直观易用,可以采用日历视图...
3. **自定义显示格式**:如果你想只显示年月日而不显示时分秒,可以对代码进行适当的注释或修改。例如,`lunar.format`函数的参数可以控制输出格式,如果不需要时分秒,格式字符串可以调整为`'yyyy年M月d'`。 ```...
在这个"易语言JS取农历日期源码"的教程中,我们将深入探讨如何在易语言中利用JavaScript引擎获取农历日期的相关知识。 首先,易语言提供了一个内置的JavaScript接口,允许开发者在易语言程序中执行JavaScript代码,...
标题“网页特效:输入出生日期,得出你的属相”是一个基于网页的互动功能,它允许用户输入他们的出生日期,然后程序会根据中国的农历生肖规则计算并显示对应的属相。这个功能涉及的技术点主要包括HTML、CSS、...
在设计时,应考虑日期格式的规范,如公历的年/月/日和农历的年月日及干支纪年,同时也要注意闰年的处理和异常情况的处理。 此外,优化和测试也是必不可少的环节,确保转换的准确性和效率。对于性能要求高的应用,...
在这个"带节假日JS万年历控件代码.zip"压缩包中,我们拥有的是一个基于JavaScript实现的万年历控件,它能够帮助用户方便地查看日期,并突出显示法定节假日和传统节气,同时还能显示农历和对应年份的生肖信息。...
1. **日期处理**:JS的`Date`对象是处理日期和时间的基础,我们需要用它来获取当前日期,计算不同年份、月份的天数,以及处理闰年等情况。例如,`getFullYear()`获取年份,`getMonth()`获取月份(注意月份是从0开始...
- **日期格式化**:根据项目需求,可以调整日期的显示格式,如“年-月-日”、“月/日”等。 - **多语言支持**:如果应用需要面向全球用户,可以添加多语言支持,让不同地区的用户都能方便地使用。 在压缩包中的...
"calendar.js"中可能定义了日历组件的Vue实例,包括数据属性(如当前日期、年份、月份等)、计算属性(如农历转换、节假日计算等)、方法(如切换年月、显示详细信息等)以及自定义指令(如果有的话)。通过阅读源码...
2. **算法实现**:为了计算任意日期,我们需要实现一些算法,如Zeller's Congruence或者Julian Day Number,这些算法可以帮助我们从年月日转换为连续的日期编号,再从编号反向转换回日期。 3. **日历布局**:日历...
【万年历】是一种能显示多年日期的历法工具,通常包括公历、阴历、节气、节日等多种信息。在计算机技术中,实现万年历功能涉及到日期和时间的处理,这通常需要编程语言的支持。本文将深入探讨万年历的原理、编程实现...
在实现万年历时,我们需要对Date对象进行一系列操作,如构造日期实例、获取和设置年月日、获取星期几、计算月份天数等。此外,还需要处理闰年、农历转换等复杂问题。 4. 事件处理:为了实现交互功能,如用户点击...
它首先计算出从1921年1月1日至公历指定日期的总天数,然后通过遍历`CalendarData`数组找到对应的农历年月日。 4. **转换逻辑**: - `e2c` 方法首先检查输入参数,如果只有一个参数,那么这个参数会被当作日期对象...
JavaScript提供了Date对象来处理日期和时间,但要实现农历和节气转换,还需要自定义算法或引用第三方库。 4. **跨浏览器兼容性**:万年历能够兼容不同浏览器,意味着开发者需要考虑各种浏览器对JavaScript特性的...
【带节假日JS万年历控件特效代码】是一款用于网页中的日历插件,它集成了丰富的功能,如选择年份和月份、显示法定节假日、传统节气提示、农历显示以及生肖对应等,极大地增强了用户体验,是网页设计中增强交互性的好...
3. **数据获取**:老黄历数据通常包含日期、农历、节气、宜忌等信息,这些数据可以通过网络API获取,或者预先存储在本地JSON文件中。JavaScript负责解析和加载这些数据。 4. **交互逻辑**:利用jQuery的事件绑定...
整合农历到fullCalendar中,需要创建一个函数RunGLNL来显示农历和二十四节气,还需要创建计算日期到年月日的函数DaysNumberofDate,以及将日期转换为农历的CnDateofDate函数。为了实现这一功能,我们需要在PHP文件中...