注释:由 getMilliseconds() 返回的值是一个三位的数字。 不过返回值不总是三位的,如果该值小于 100,则仅返回两位数字,如果该值小于 10,则仅返回一位数字。 下面我们有两种方式将时间显示出来: --->方式一 复制代码 代码如下:var d = new Date(); document.write("Time is "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()); 输出:Time is 10:52:2,缺点很明显,在秒为<10的情况下只显示了一位,其他的也类似,因此推荐第二种显示方式 --->方式二 复制代码 代码如下:function checktime(time) { if(time<10) { time = "0"+time; } return time; } var d = new Date(); document.write("Time is "+checktime(d.getHours())+":"+checktime(d.getMinutes())+":"+checktime(d.getSeconds())); 输出:Time is 10:55:02 11、getTime() 方法可返回本地时间距 1970 年 1 月 1 日之间的毫秒数,因此可以自定义Date("Jul 26 2000");
复制代码 代码如下:var d = new Date(); document.write(d.getTime() + " milliseconds since 1970/01/01"); 输出:1350615452813 milliseconds since 1970/01/01 因此我们可以根据此数得到本地时间距离1970/01/01的年数 复制代码 代码如下:var minutes = 1000*60;//一分钟有60秒,一秒有60毫秒,下面依次类推 var hours = minutes*60; var days = hours*24; var years = days*365; var d = new Date(); var t = d.getTime();//获得距离1970/01/01的毫秒数 var y = t/years; document.write("It"s been: " + y + " years since 1970/01/01!"); 输出: It"s been: 42.82773990521943 years since 1970/01/01! 注:此时的年份是一个小数,可以将其换成整数(其实Javascript中没有整数的区别) 最后一行修改为: 复制代码 代码如下:document.write("It"s been: " + parseInt(y) + " years since 1970/01/01!"); 输出: It"s been: 42 years since 1970/01/01! parseInt(float);可以将浮点类型转换为整型 12、getTimezoneOffset() 方法可返回格林威治时间和本地时间之间的时差,以分钟为单位。
注: getTimezoneOffset() 方法返回的是本地时间与 GMT 时间或 UTC 时间之间相差的分钟数。 实际上,该函数告诉我们运行 JavaScript 代码的时区,以及指定的时间是否是夏令时。 返回之所以以分钟计,而不是以小时计,原因是某些国家所占有的时区甚至不到一个小时的间隔。 复制代码 代码如下:var d = new Date(); document.write(d.getTimezoneOffset()); 输出: -480(东八区,8*60) 因此可以根据此方法来判断所在时区 复制代码 代码如下:function checkzone(zone) { if (zone==0) { return "零时区"; } else if (zone>0) { return "西"+parseInt(zone/60)+"区"; } else { return "东"+parseInt(Math.abs(zone/60))+"区"; } } var d = new Date(); document.write(checkzone(d.getTimezoneOffset())); 其中Math.abs()为求绝对值 以上方法是自己原创,因为地理学的不好,不知道对不对,求指正 13、parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
parse(str);str为字符串,是一个符合时间格式的字符串 复制代码 代码如下:var minutes = 1000 * 60; var hours = minutes * 60; var days = hours * 24; var years = days * 365; var t = Date.parse("Jul 8, 2005"); var y = t/years; document.write("It"s been: " + parseInt(y) + " years from 1970/01/01"); document.write(" to 2005/07/08!"); 输出为: It"s been: 35 years from 1970/01/01 to 2005/07/08! 14、setDate() 方法用于设置一个月的某一天。
setDate(day),day必需。表示一个月中的一天的一个数值(1 ~ 31)。 注,此方法是在原先对象的基础上进行修改,会改变原先数据的值 例: 复制代码 代码如下:var d = new Date(); document.write(d.getDate()+"<br>"); d.setDate(31); document.write(d.getDate()); 输出: 19 31 15、setMonth() 方法用于设置月份,与setDate()使用方法一直,也会改变原Date对象