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函數:將字元串轉換為大寫。