简单的日历实现和日期对象语法介绍(附附图)

知识点:

主要目的是使用日期对象(以下介绍来自网络)

创建日期对象的语法:
var创建=新日期()
日期对象自动保存当前日期和时间作为初始值。
有5种类型的参数:
新的日期(月DD,YYYY HH:毫米:SS );
New Date (month DD, yyyy);
新的日期(年、月、日、HH、MM、SS);
新的日期(年、月、日);
新日期(MS);

注:最后一个表单,参数是需要创建的毫秒数和GMT时间与1970年1月1日之间的差异。

参数的含义如下:

月份:用英文显示月份名称,从一月到十二月。

M:是个整数,从(一月)11(十二月)

Dd:代表一个月的头几天,从1点到31点。

年:四位数字的年份

Hh:从午夜0点到下午23点(11点)。

采购经理:分钟,从0到59个整数

Ss:秒,从0到59个整数

毫秒,大于0的整数

日期对象的方法:

getdate()从一个月的日期对象返回一天(1 ~ 31)。
getday()从一个星期的约会对象返回一天(0 ~ 6)。
获得当前的月份()从日期对象的月份(0 ~ 11)。
返回完整年份()返回的对象有四位数的日期的年份。
getYear()请以()方法返回完整年份。
获得当前的小时()返回一个小时(0 ~ 23)的约会对象。
GetMinutes () returns the minutes of the Date object (0 ~ 59).
GetSeconds()返回的秒数(0 ~ 59)的约会对象。
GetMilliseconds()返回日期对象的毫秒(0 ~ 999)。
GetTime()返回的毫秒数从1970年1月1日到现在。
获得当前的时区偏移信息()返回的当地时间和格林尼治标准时间(GMT)之间的微小差异。
getutcdate()返回一个天(1 ~ 31)从对象到月球根据世界。
getutcday()从日期对象的周收益一天(0 ~ 6)根据世界。
getutcmonth()返回一个月(0 ~ 11)从数据对象根据世界。
getutcfullyear()返回的对象从四位数的年根据世界。
getutchours()是一个小时(0 ~ 23)基于日期的对象在世界的时间返回。
getutcminutes()分钟(0 ~ 59)基于日期的对象在世界的时间返回。
GetUTCSeconds()第(0 ~ 59)基于日期的对象在世界的时间返回。
GetUTCMilliseconds()的毫秒(0 ~ 999)根据世界的约会对象返回。
解析()返回从1970年1月1日午夜到指定日期(字符串)的毫秒数。
设置日期()设置一个天(1 ~ 31)在约会对象的月。
setmonth()设置日期对象的月份(0 ~ 11)。
设置当前年份()在约会对象的年组(四位)。
设置年份()请用设置当前年份()方法。
设置当前小时数(小时)的数据对象集(0 ~ 23)。
设置当前分钟数()设置日期对象的时间(0 ~ 59)。
设置时、分、秒()设置日期对象的秒(0 ~ 59)。
setmilliseconds()设置日期对象的毫秒(0 ~ 999)。
时间(以毫秒为单位的数据对象集)。
setutcdate()一天(1 ~ 31)在设置日期对象的月份根据世界。
setutcmonth()设置月(0 ~ 11)基于世界日期对象。
setutcfullyear()设置年(四位数)的约会对象根据世界。
setutchours()设置一个小时(0 ~ 23)基于世界日期对象。
setutcminutes()组分(0 ~ 59)在约会对象根据世界。
setutcseconds()设置秒(0 ~ 59)在约会对象根据世界。
setutcmilliseconds()设置毫秒(0 ~ 999)在约会对象根据世界。
ToSource()返回对象的源代码。
ToString()将对象转换为字符串。
totimestring()的转换日期对象转换成一个字符串的一部分。
ToDateString()转换成一个字符串的日期对象的日期部分。
ToGMTString()请用toutcstring()方法
ToUTCString()将数据对象转换为字符串根据世界。
ToLocaleString()将数据对象转换成一个基于本地时间格式字符串。
ToLocaleTimeString()的转换日期对象的字符串的一部分根据当地时间格式。
ToLocaleDateString()将数据对象转换成一个基于本地时间格式字符串的日期部分。
UTC()从1997年1月1日返回到世界的指定日期的毫秒数。
valueOf()返回的对象的原始值。
无功objdate =新的日期({参数列表});

简单日历实现:

uff1a效应
代码uff1a
复制代码代码如下所示:

#日历{
字体大小:12px;
}
#日历TBODY TD {
背景:# 033;
颜色:# FFF;
文本对齐:中心;
填料:2px;
}
。细节{
文本对齐:中心;
}

测试值:
上个月
下个月
去年
明年
今天




VaR的日历=功能(年,monthnum,母){
这一年=年;
这个,父=父;
这monthnum = monthnum-1;
功能isleapyear(Y){
返回(y > 0)!(% 4)((%(100)% 400)| |!);
}
这个numdays = { 31,isleapyear(这一年)29:28,31,30,31,30,31,31,30,31,30,31 } {这monthnum };
这个工作日
这nowdate =新的日期;
This.init();
}

日历:原型= {
setmonthnum:功能(monthnum){
这monthnum = monthnum-1;
},
GetMonthNum:函数(){
退货。monthnum + 1;
},
setyearnum:功能(年){
这一年=年;
},
GetYearNum:函数(){
返回this.year;
},
init:函数(){
This.setup(本。母);
},
三代:函数(){
This.setup(本。母);
},
安装程序:函数(id){
var date = this.nowdate;
VaR计算= document.getelementbyid(ID);
卡尔.innerHTML = ;
无功caldiv = document.createelement(div);
var标签= document.createelement(表);
cal.appendchild(caldiv);
caldiv .innerHTML = this.getsummary();
cal.appendchild(标签);
caldiv。类名=细节
这个thead = document.createelement(线);
这document.createelement。tbody =(把);
这个很大= document.createelement(很大);
这document.createelement。TR =(TR);
本。TD = document.createelement(TD);

(这tab.appendchild。螺纹);
(这tab.appendchild。TBODY);
this.setthead();
this.create();

},
setthead:函数(){
var = this.weekdays;
VaR TR = this.tr.clonenode(真的);
this.thead.appendchild(TR);
对于(var i = 0;i < 7;i + +){
VaR技术this.td.clonenode(真的);
tr.appendchild(TD);
TD .innerHTML =天{我};
}
},
创建:函数(){
VaR天=新的日期(this.year,this.monthnum,1);
VaR TR = this.tr.clonenode(真的);
一天都有所值= this.numdays VaR;
var =;

that.tbody.appendchild(TR);
对于(var j = 0;J < day.getday();j++){
VaR技术that.td.clonenode(真的);
tr.appendchild(TD);
TD .innerHTML = ;
}
对于(var i = 1;i < =一天都有所值;i++){
如果((J +我= = 0)% 7-1){
TR = that.tr.clonenode(真的);
that.tbody.appendchild(TR);
}
VaR技术that.td.clonenode(真的);
var = i;
如果(我= = that.nowdate.getdate()){
s+;
}
TD .innerHTML = S;
样式。光标指针;
TD。onclick =函数(){
document.getelementbyid(calendar_value)。值=(that.getyearnum()+/+ that.getmonthnum()+/+,innerHTML)
}
TD。onmouseover =函数(){
这个风格。背景=# FFF;
这个风格。颜色=# 033
}
TD。onmouseout=函数(){
这个样式。背景;
这个风格。颜色=# FFF
}
tr.appendchild(TD);
}
},
GetSummary:函数(){
var date = this.nowdate;
退货。年+年+(这个。monthnum + 1)+月+ date.getdate()+天;
}
}
VaR计算=新的日历(2013,5,日历);
Cal.init();

document.getelementbyid(cal_prev)。Onclick =函数(){
cal.monthnum--;
如果(cal.getmonthnum()<1){
(12)cal.setmonthnum;
cal.year--;
}
Cal.reflesh();
}
document.getelementbyid(cal_next)。Onclick =函数(){
卡尔monthnum + +
如果(cal.getmonthnum()> 12){
(1)cal.setmonthnum;
Cal +年+;
}
Cal.reflesh();
}
document.getelementbyid(cal_today)。Onclick =函数(){
Cal.setYearNum((新日期)。GetFullYear());
Cal.setMonthNum((新日期)。GetMonth()+ 1)
Cal.reflesh();
}
document.getelementbyid(cal_preyear)。Onclick =函数(){
Cal.setYearNum(cal.getyearnum)-(1);
Cal.reflesh();
}
document.getelementbyid(cal_nextyear)。Onclick =函数(){
Cal.setYearNum(cal.getyearnum()+ 1);
Cal.reflesh();
}


总结:
上面的代码没有注释,写的有点急,重组后,很多功能都没有实现。