A. 求一款js做的时间日历控件
这是我找到的一个js做的日历,不知道是不是你要的,里面有包含时间,其实在日历里面加时间也是比较简单的,只要调用DATE的方法就可以了,希望对你有用。下面是代码段,效果图附上。
<html>
<head>
<SCRIPTLANGUAGE="javaScript"TYPE="text/javascript">
//定义月历函数
functioncalendar(){
vartoday=newDate();//创建日期对象
year=today.getYear();//读取年份
thisDay=today.getDate();//读取当前日
//创建每月天数数组
varmonthDays=newArray(31,28,31,30,31,30,31,31,30,31,30,31);
//如果是闰年,2月份的天数为29天
if(((year%4==0)&&(year%100!=0))||(year%400==0))monthDays[1]=29;
daysOfCurrentMonth=monthDays[today.getMonth()];//从每月天数数组中读取当月的天数
firstDay=today;//复制日期对象
firstDay.setDate(1);//设置日期对象firstDay的日为1号
startDay=firstDay.getDay();//确定当月第一天是星期几
//定义周日和月份中文名数组
vardayNames=newArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
varmonthNames=newArray("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");
//创建日期对象
varnewDate=newDate();
//创建表格
document.write("<TABLEBORDER='0'CELLSPACING='0'CELLPADDING='2'ALIGN='CENTER'BGCOLOR='#0080FF'>")
document.write("<TR><TD><tableborder='0'cellspacing='1'cellpadding='2'bgcolor='#88FF99'>");
document.write("<TR><thcolspan='7'bgcolor='#C8E3FF'>");
//显示当前日期和周日
document.writeln("<FONTSTYLE='font-size:9pt;Color:#FF0000'>"+newDate.getYear()+"年"+monthNames[newDate.getMonth()]+""+newDate.getDate()+"日"+dayNames[newDate.getDay()]+"</FONT>");
//显示月历表头
document.writeln("</TH></TR><TR><THBGCOLOR='#0080FF'><FONTSTYLE='font-size:9pt;Color:White'>日</FONT></TH>");
document.writeln("<thbgcolor='#0080FF'><FONTSTYLE='font-size:9pt;Color:White'>一</FONT></TH>");
document.writeln("<THBGCOLOR='#0080FF'><FONTSTYLE='font-size:9pt;Color:White'>二</FONT></TH>");
document.writeln("<THBGCOLOR='#0080FF'><FONTSTYLE='font-size:9pt;Color:White'>三</FONT></TH>");
document.writeln("<THBGCOLOR='#0080FF'><FONTSTYLE='font-size:9pt;Color:White'>四</FONT></TH>");
document.writeln("<THBGCOLOR='#0080FF'><FONTSTYLE='font-size:9pt;Color:White'>五</FONT></TH>");
document.writeln("<THBGCOLOR='#0080FF'><FONTSTYLE='font-size:9pt;Color:White'>六</FONT></TH>");
document.writeln("</TR><TR>");
//显示每月前面的"空日"
column=0;
for(i=0;i<startDay;i++){
document.writeln("<TD><FONTSTYLE='font-size:9pt'></FONT></TD>");
column++;
}
//如果是当前日就突出显示(红色),否则正常显示(黑色)
for(i=1;i<=daysOfCurrentMonth;i++){
if(i==thisDay){
document.writeln("</TD><TDALIGN='CENTER'><FONTSTYLE='font-size:9pt;Color:#ff0000'><B>")
}
else{
document.writeln("</TD><TDBGCOLOR='#88FF99'ALIGN='CENTER'><FONTSTYLE='font-size:9pt;font-family:Arial;font-weight:bold;Color:#000000'>");
}
document.writeln(i);
if(i==thisDay)document.writeln("</FONT></TD>")
column++;
if(column==7){
document.writeln("<TR>");
column=0;
}
}
document.writeln("<TR><TDCOLSPAN='7'ALIGN='CENTER'VALIGN='TOP'BGCOLOR='#0080FF'>")
document.writeln("<FORMNAME='time'onSubmit='0'><FONTSTYLE='font-size:9pt;Color:#ffffff'>")
//显示当前时间
document.writeln("当前时间:<INPUTTYPE='Text'NAME='textbox'ALIGN='TOP'></FONT></TD></TR></TABLE>")
document.writeln("</TD></TR></TABLE></FORM>");
}
</SCRIPT>
<SCRIPTLANGUAGE="JavaScript">
//初始化控制变量
vartimerID=null;
vartimerRunning=false;
//定义时间显示函数
functionstoptime(){
if(timerRunning)
clearTimeout(timerID);
timerRunning=false;}
//定义显示时间函数
functionshowtime(){
varnewDate=newDate();
varhours=newDate.getHours();
varminutes=newDate.getMinutes();
varseconds=newDate.getSeconds()
vartimeValue=""+((hours>12)?hours-12:hours)
timeValue+=((minutes<10)?":0":":")+minutes
timeValue+=((seconds<10)?":0":":")+seconds
timeValue+=(hours>=12)?"下午":"上午"
document.time.textbox.value=timeValue;
timerID=setTimeout("showtime()",1000);//设置超时,使时间动态显示
timerRunning=true;}
//显示当前时间
functionstarttime(){
stoptime();
showtime();}
</SCRIPT>
</head>
<BODYonLoad="starttime()"TEXT="#000000"TOPMARGIN="0">
<scriptlanguage="JavaScript"type="text/javascript">
calendar();//显示月历
</script>
</BODY>
</html>
B. js new Date() 格式
new Date()参数格式如下:
1、用整数初始化日期对象
var date1 = new Date(2017,06,06); console.log(date1);
表示的是:Thu Jul 06 2017 00:00:00 GMT+0800 (中国标准时间) 。new Date( year, month, date, hrs, min, sec) 按给定的参数创建一日期对象
2、用字符串初始化日期对象
var date2 = new Date(“2017/06/06”); console.log(date2);
表示的是:Tue Jun 06 2017 00:00:00 GMT+0800 (中国标准时间) ,如果字符串模式不支持短横杠模式,则进行字符串替换:
var strTime=”2011-04-16”;
var date2= new Date(Date.parse(strTime.replace(/-/g, “/”))); // /-/g为正则表达式(RegExp) 对象,表示全局替换-为/。
3、用毫秒时间戳初始化日期对象
var timestamp=new Date().getTime(); console.log( new Date(timestamp) );
表示的是:Tue Jun 06 2017 11:06:59 GMT+0800 (中国标准时间) ,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。时间戳唯一地标识某一刻的时间。
(2)js显示12个月扩展阅读:
一般直接new Date() 是不会出现兼容性问题的,而 new Date(datetimeformatstring) 常常会出现浏览器兼容性问题,因为datetimeformatstring中的某些格式浏览器不兼容。其中无参方式所有浏览器都兼容:var dateTime = new Date();
目前所有主流浏览器都支持的有参格式为: var dateTime = new Date("2017/09/12 13:42:00");所以出现浏览器不兼容的问题可以将datetimeformatstring 转换成 yyyy/MM/dd hh:mm:ss 格式化字符串即可。
C. js获取上一个月份
1、根据输入的日期,获取年,月,日信息。
2、根据月信息,减去一个月,就是上一个月。注意1月份是上一年的12月份。
3、然后再拼接成日期格式
根据上面步骤,可以写对应的功能函数
/**
*获取上一个月
*
*@date格式为yyyy-mm-dd的日期,如:2014-01-25
*/
functiongetPreMonth(date){
vararr=date.split('-');
varyear=arr[0];//获取当前日期的年份
varmonth=arr[1];//获取当前日期的月份
varday=arr[2];//获取当前日期的日
vardays=newDate(year,month,0);
days=days.getDate();//获取当前日期中月的天数
varyear2=year;
varmonth2=parseInt(month)-1;
if(month2==0){//如果是1月份,则取上一年的12月份
year2=parseInt(year2)-1;
month2=12;
}
varday2=day;
vardays2=newDate(year2,month2,0);
days2=days2.getDate();
if(day2>days2){//如果原来日期大于上一月的日期,则取当月的最大日期。比如3月的30日,在2月中没有30
day2=days2;
}
if(month2<10){
month2='0'+month2;//月份填补成2位。
}
vart2=year2+'-'+month2+'-'+day2;
returnt2;
}
调用
alert(getPreMonth("2014-01-25"));
D. 求jquery获取当前月份前的12个月份,放在一个数组里
varyugi=function(now){
vard=newDate(now.replace(/[^d]/g,"/")+"/1");
varresult=[now];
for(vari=0;i<11;i++){
d.setMonth(d.getMonth()-1);
varm=d.getMonth()+1;
m=m<10?"0"+m:m;
result.push(d.getFullYear()+"-"+m);
}
returnresult;
}
yugi("2015-08");
E. 如何用javascript制作动态年月日下拉选框
动态的下拉选框实现步骤如下:
第一步,编写HTML与初始效果,创建年、月、日的下拉框,年份从1999年到当前年份,统一月为12个月,日为31天。
第二步,编写JavaScript函数 `ymd()`,在`xuqifen.js`文件中实现为``标签添加选项条目。
第三步,实现选择年份与月份后,日自动调整的三级联动功能。考虑闰年与不同月份天数变化,可以通过`if`语句删除所有日选项并重新生成,根据选定的年份与月份动态调整日的范围。
最终完成1999年至当前年份的年、月、日的下拉框构建。
F. js 两个日期间隔月数
完整代码如下:
<html>
<head>
<title>js两个日期间隔月数</title>
<scripttype="text/javascript">
window.onload=function(){
document.getElementById("btn_Diff").onclick=function(){
vard1=document.getElementById("txt_Date1").value;//日期1
vard2=document.getElementById("txt_Date2").value;//日期2
//年*12+月
varm1=parseInt(d1.split("-")[1].replace(/^0+/,""))+parseInt(d1.split("-")[0])*12;
varm2=parseInt(d2.split("-")[1].replace(/^0+/,""))+parseInt(d2.split("-")[0])*12;
alert(m2-m1);
}
}
</script>
</head>
<body>
<inputid="txt_Date1"type="text"value="2013-09-25"/>
<inputid="txt_Date2"type="text"value="2014-01-15"/>
<inputid="btn_Diff"type="button"value="Diff"/>
</body>
</html>
效果如下:
G. javascript内置函数是什么
js内置函数是浏览器内核自带的,不用任何函数库引入就可以直接使用的函数。javascript内置函数一共可分为五类:
1、常规函数
2、数组函数
3、日期函数
4、数学函数
5、字符串函数
第一类:常规函数
包括以下9个函数:
(1)alert函数:显示一个警告对话框,包括一个OK按钮。
(2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。
(3)escape函数:将字符转换成Unicode码。
(4)eval函数:计算表达式的结果。
(5)isNaN函数:测试是(true)否(false)不是一个数字。
(6)parseFloat函数:将字符串转换成符点数字形式。
(7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。
(8)prompt函数:显示一个输入对话框,提示等待用户输入。
第二类:数组函数
包括以下4个函数:
(1)join函数:转换并连接数组中的所有元素为一个字符串。
(2)langth函数:返回数组的长度。
(3)reverse函数:将数组元素顺序颠倒。
(4)sort函数:将数组元素重新排序。
第三类:日期函数
包括以下20个函数:
(1)getDate函数:返回日期的“日”部分,值为1~31
(2)getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,...,6表示星期六
(3)getHours函数:返回日期的“小时”部分,值为0~23。
(4)getMinutes函数:返回日期的“分钟”部分,值为0~59。见上例。
(5)getMonth函数:返回日期的“月”部分,值为0~11。其中0表示1月,2表示3月,...,11表示12月。见前面的例子。
(6)getSeconds函数:返回日期的“秒”部分,值为0~59。见前面的例子。
(7)getTime函数:返回系统时间。
(8)getTimezoneOffset函数:返回此地区的时差(当地时间与GMT格林威治标准时间的地区时差),单位为分钟。
(9)getYear函数:返回日期的“年”部分。返回值以1900年为基数,例如1999年为99。
(10)parse函数:返回从1970年1月1日零时整算起的毫秒数(当地时间)。
(11)setDate函数:设定日期的“日”部分,值为0~31。
(12)setHours函数:设定日期的“小时”部分,值为0~23。
(13)setMinutes函数:设定日期的“分钟”部分,值为0~59。
(14)setMonth函数:设定日期的“月”部分,值为0~11。其中0表示1月,...,11表示12月。
(15)setSeconds函数:设定日期的“秒”部分,值为0~59。
(16)setTime函数:设定时间。时间数值为1970年1月1日零时整算起的毫秒数。
(17)setYear函数:设定日期的“年”部分。
(18)toGMTString函数:转换日期成为字符串,为GMT格林威治标准时间。
(19)setLocaleString函数:转换日期成为字符串,为当地时间。
(20)UTC函数:返回从1970年1月1日零时整算起的毫秒数,以GMT格林威治标准时间计算。
第四类:数学函数
函数有以下18个:
(1)abs函数:即Math.abs(以下同),返回一个数字的绝对值。
(2)acos函数:返回一个数字的反余弦值,结果为0~π弧度(radians)。
(3)asin函数:返回一个数字的反正弦值,结果为-π/2~π/2弧度。
(4)atan函数:返回一个数字的反正切值,结果为-π/2~π/2弧度。
(5)atan2函数:返回一个坐标的极坐标角度值。
(6)ceil函数:返回一个数字的最小整数值(大于或等于)。
(7)cos函数:返回一个数字的余弦值,结果为-1~1。
(8)exp函数:返回e(自然对数)的乘方值。
(9)floor函数:返回一个数字的最大整数值(小于或等于)。
(10)log函数:自然对数函数,返回一个数字的自然对数(e)值。
(11)max函数:返回两个数的最大值。
(12)min函数:返回两个数的最小值。
(13)pow函数:返回一个数字的乘方值。
(14)random函数:返回一个0~1的随机数值。
(15)round函数:返回一个数字的四舍五入值,类型是整数。
(16)sin函数:返回一个数字的正弦值,结果为-1~1。
(17)sqrt函数:返回一个数字的平方根值。
(18)tan函数:返回一个数字的正切值。
第五类:字符串函数
包括以下20个函数:
(1)anchor函数:产生一个链接点(anchor)以作超级链接用。anchor函数设定<A NAME...>的链接点的名称,另一个函数link设定<A HREF=...>的URL地址。
(2)big函数:将字体加到一号,与<BIG>...</BIG>标签结果相同。
(3)blink函数:使字符串闪烁,与<BLINK>...</BLINK>标签结果相同。
(4)bold函数:使字体加粗,与<B>...</B>标签结果相同。
(5)charAt函数:返回字符串中指定的某个字符。
(6)fixed函数:将字体设定为固定宽度字体,与<TT>...</TT>标签结果相同。
(7)fontcolor函数:设定字体颜色,与<FONT COLOR=color>标签结果相同。
(8)fontsize函数:设定字体大小,与<FONT SIZE=n>标签结果相同。
(9)indexOf函数:返回字符串中第一个查找到的下标index,从左边开始查找。
(10)italics函数:使字体成为斜体字,与<I>...</I>标签结果相同。
(11)lastIndexOf函数:返回字符串中第一个查找到的下标index,从右边开始查找。
(12)length函数:返回字符串的长度。(不用带括号)
(13)link函数:产生一个超级链接,相当于设定<A HREF=...>的URL地址。
(14)small函数:将字体减小一号,与<SMALL>...</SMALL>标签结果相同。
(15)strike函数:在文本的中间加一条横线,与<STRIKE>...</STRIKE>标签结果相同。
(16)sub函数:显示字符串为下标字(subscript)。
(17)substring函数:返回字符串中指定的几个字符。
(18)sup函数:显示字符串为上标字(superscript)。
(19)toLowerCase函数:将字符串转换为小写。
(20)toUpperCase函数:将字符串转换为大写。