先说下js与vbs时间函数的差异。
1. js getMonth()得到的月份比当前月少1,vbs中Month()得到的就是当前月份
2. js getDate获得日期,getDay()获得星期,vbs中Day()获得日期,Weekday()获得星期
3. js getDay()获得的星期与当前星期对照,0表示星期日,1表示星期一;vbs中Weekday()获得的星期比当前星期多1,1表示星期日,2表示星期1
进入正题:
按照yyyy-mm-dd 星期一 下午/上午 hh:mm:ss的方式显示一个动态时钟,hh为12小时制
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
html代码,setIterval必须付给变量,才能通过clearIterval(变量名)给清除。
<input id="timeTxt" size="80"><button οnclick='int = setInterval(myT,1000)' />开始计时</button><button οnclick='clearInterval(int)'>停止计时</button>
js代码:
function myT(){
var T = new Date(); //获得时间对象
var Y = T.getYear(); //得到当前年份,getYear在1900-2000间的年份只取后两位,其他时间段的年份取四位,getFullYear是全部都取四位。
var M = T.getMonth()+1; //getMonth()取得的是月份索引,比日常月份少1.如现在是9月,则getMonth()得到的是8
var D = T.getDate();//获得1-31中的一个数字,表示当前的日期,如9月11日,则取出11
var W = T.getDay(); //获得星期的索引号,星期日是0,星期一是1,依次类推
var h = T.getHours();//获得24小时制的小时数
var m = T.getMinutes();//获得分钟数
var s = T.getSeconds();//获得秒数
var apm;
var arr = new Array() //为实现不足10则在十位补零,先定义一个数组,并将需要修改的值放入数组中。
arr[0] = M;
arr[1] = D;
arr[2] = h;
arr[3] = m;
arr[4] = s;
for(var i=0;i<arr.length;i++){
arr[i] = (arr[i]>9)?arr[i]:"0"+arr[i]; //循环判断,不足10补零
}
if(1)
{
if(W==0) W="日"; //将星期转换为汉字
if(W==1) W="一";
if(W==2) W="二";
if(W==3) W="三";
if(W==4) W="四";
if(W==5) W="五";
if(W==6) W="六";
}
if(h<12){
apm = "上午"; //将24小时制换成12小时制
}
else if(h>=12){
apm = "下午";
arr[2] = h-12;
}
myTime = Y +"-"+ arr[0] +"-"+ arr[1] +" 星期"+ W +" "+ apm + arr[2] +":"+ arr[3] +":"+ arr[4]; //根据指定格式将时间显示出来
document.getElementById("timeTxt").value = myTime
}
vbs时间相关代码:
'时间日期的通用显示方式
'日期+时间
n = Now()
response.Write(n) '显示 2011-9-8 11:27:01
response.Write("<br>")
'日期
d = Date()
response.Write(d) '显示 2011-9-8
response.Write("<br>")
'时间
t = Time()
response.Write(t) '显示11:27:01
response.Write("<br><br>")
'格式化时间
f0 = FormatDateTime(n,0) '2011-9-8 12:25:28
f1 = FormatDateTime(n,1) '2011年9月8日 星期四
f2 = FormatDateTime(n,2) '2011-9-8
f3 = FormatDateTime(n,3) '12:25:28
f4 = FormatDateTime(n,4) '12:25
response.Write(f0)
response.Write("<br>")
response.Write(f1)
response.Write("<br>")
response.Write(f2)
response.Write("<br>")
response.Write(f3)
response.Write("<br>")
response.Write(f4)
response.Write("<br><br>")
'日期的单独显示方式
'年份
y = Year(d)
response.Write(y) '显示2011,Year()函数必须带参数,可以是#09/09/10#这样的格式,也可以是时间对象
response.Write("<br>")
response.Write(Year("09/09/08")) '显示2009,注意不是09
response.Write("<br>")
response.Write(Year(#2009-09-08#)) '显示2009,注意不是09,#是特指时间,,除了上面/的格式,这种 - 格式也可以
response.Write("<br><br>")
'月份
mon = Month(d)
response.Write(mon) '显示9,Month()函数必须带参数,可以是#09/09/10#这样的格式,也可以是时间对象。注意js中month比正常日期少1,而vbs中是正常的
response.Write("<br>")
response.Write(Month("2009/09/08")) '显示9,注意不是09
response.Write("<br>")
response.Write(Month(#2009/09/08#)) '显示9,注意不是09,#是特指时间
response.Write("<br>")
response.Write(MonthName(mon)) '显示月份名称,九月
response.Write("<br><br>")
'日期
da = Day(d)
response.Write(da) '显示8,day()函数必须带参数,可以是#09/09/10#这样的格式,也可以是时间对象
response.Write("<br>")
response.Write(Day("2009/09/08")) '显示8,注意不是08
response.Write("<br>")
response.Write(Day(#2009/09/08#)) '显示8,注意不是08,#是特指时间
response.Write("<br><br>")
'星期
response.Write(Weekday(d)) '显示5,注意这个值是比正常的星期多了1的,而js中是正常的,仍然从周日开始,周日是1,周二是2
response.Write("<br>")
response.Write(WeekdayName(Weekday(d))) '显示星期四
response.Write("<br>")
response.Write(Weekday("2011/09/10")) '获得这个日期的星期值 显示7,实则当天是星期六
response.Write("<br><br>")
'时间的单独显示方式,与js不同,这里的hour,minute,second都是单数形式,而js中getHours等都是复数形式
'小时
h0 = Hour(d) '显示0,注意参数必须是时间,如果没有时间,则显示0
h = Hour(t) '显示12
hn = Hour(n) '效果与上面h相等
response.Write(h) '显示当前的小时数12
response.Write("<br>")
response.Write(Hour("09:09:08")) '显示9,把后面当做时间处理,截取小时数9,注意不是09。必须用:分隔,不可用/ 或-
response.Write("<br>")
response.Write(Hour(#9:09:08#)) '显示2009,注意不是09,#是特指时间
response.Write("<br><br>")
'分钟,注意点与小时类似
mm = Minute(t) '显示12
response.Write(mm) '显示当前的分钟数15
response.Write("<br>")
response.Write(Minute("09:19:08")) '显示19
response.Write("<br>")
response.Write(Minute(#9:19:08#)) '显示19
response.Write("<br><br>")
'秒,注意点与小时类似
s = Second(t) '显示12
response.Write(s) '显示当前的分钟数35
response.Write("<br>")
response.Write(Second("09:19:08")) '显示8
response.Write("<br>")
response.Write(Second(#9:19:08#)) '显示8
response.Write("<br><br>")