JS 第五课
Date对象:
创建Date对象使用Date构造函数
<script type="text/javascript"> function test() { //1.不带参数返回当前时间: var now = new Date(); alert(now); //Wed May 29 23:20:37 UTC+0800 2013 //2.传入一个数字作为日期的内部数字单位:毫秒(ms) var time = new Date(1234567890); alert(time); //Thu Jan 15 14:56:07 UTC+0800 1970 //3.传入参数为字符串将作为日期和时间的字符串: var ftime = new Date('sat 29,may 2013 11:55:08 gmt'); alert(ftime); //Wed May 29 19:55:08 UTC+0800 2013 //4.传入参数为2-7个数字分别指出了日期和时间的各个组成部分,除了前两个字段(月,年)外,其他可选... var timeS = new Date(2013, 5, 29, 11, 56, 08, 888); alert(timeS);//Sat Jun 29 11:56:08 UTC+0800 2013 } test(); </script>
字符串格式需要遵循以下格式:
- 短日期可以使用"/"或"-"作为日期分割,但是必须用月/日/年的格式表示。
- 以类似"July 10 2013"形式的长日期中的年月日可以按任意顺序排列,年份可以为2或4为数字表示,如果是两位数字必须>=70.
- 括号中的任何文本都将被视为注释,括号可以嵌套使用。
- 逗号,空格被视为分隔符,允许多个分隔符。
- 月和日名称必须具有两个或两个以上的字符,如果这两个字符所组成的名称不是独一无二的,那么该名称将被解析成最后一个符合条件的月和日,FI:Ju 是七月非六月。
- 在所提供的日期中如果所指定的星期几的值与按照该日期中剩余部分所确定的星期几的值不符合,该值将被忽略。(错误的不显示,而显示正确的)。
- 符合全球标准时间(UTC) 和格林威治标准时间(GMT)的格式。
- 小时,分钟和秒表之间用冒号":"分割,不需要指明的部分可以省略."10:","10:11","10:11:11"都有效。
- 如果使用24小时的计时时钟,那么中午12点以后指定的PM是错误的。“13:15PM” Ⅹ。
- 包含无效的日期字符串是错误的,FI:一个包含两个年份或者两个月份的字符串是错误的。
注意:4.的语法是:new Date(year,month,day,hours,minutes,seconds,ms)
month的参数取值范围是0-11,对应12个月份。
读取设置日期和时间及日期
各种方法................................................................................................................................................
<script type="text/javascript"> function test() { var time = new Date('sat 29,may 2013 11:55:08 gmt'); // time.setFullYear(2007); // time.setMonth(4); // time.setDate(29); // time.setHours(11); // time.setMinutes(55); // time.setSeconds(8); // time.setMilliseconds(888); // time.setTime(1234567890); // time.setUTCFullYear(2007); // time.setUTCMonth(4); // time.setUTCDate(29); // time.setUTCHours(11); // time.setUTCMinutes(55); // time.setUTCSeconds(8); // time.setUTCMilliseconds(888); // time.setTime(1234567890); document.write('年: ' + time.getYear() + '<br/>'); document.write('年: ' + time.getFullYear() + '<br/>'); document.write('月: ' + parseInt(time.getMonth()) + 1 + '<br/>'); document.write('当月中的第: ' + time.getDate() + '天<br/>'); document.write('本周的第: ' + time.getDay() + '天<br/>'); document.write('小时: ' + time.getHours() + '<br/>'); document.write('分钟: ' + time.getMinutes() + '<br/>'); document.write('秒: ' + time.getSeconds() + '<br/>'); document.write('毫秒: ' + time.getMilliseconds() + '<br/>'); document.write('内部毫秒: ' + time.getTime() + '<br/>'); document.write('与世界时间的时差: ' + time.getTimezoneOffset() + '分钟<br/>'); //得到UTC时间:........................................... document.write('年: ' + time.getUTCFullYear() + '<br/>'); document.write('月: ' + parseInt(time.getUTCMonth()) + 1 + '<br/>'); document.write('当月中的第: ' + time.getUTCDate() + '天<br/>'); document.write('本周的第: ' + time.getUTCDay() + '天<br/>'); document.write('小时: ' + time.getUTCHours() + '<br/>'); document.write('分钟: ' + time.getUTCMinutes() + '<br/>'); document.write('秒: ' + time.getUTCSeconds() + '<br/>'); document.write('毫秒: ' + time.getUTCMilliseconds() + '<br/>'); document.write('内部毫秒: ' + time.getTime() + '<br/>'); /* 年: 113 年: 2013 月: 41 当月中的第: 29天 本周的第: 3天 小时: 19 分钟: 55 秒: 8 毫秒: 0 内部毫秒: 1369828508000 与世界时间的时差: -480分钟 年: 2013 月: 41 当月中的第: 29天 本周的第: 3天 小时: 11 分钟: 55 秒: 8 毫秒: 0 内部毫秒: 1369828508000 */ } test(); </script>
日期和时间的转换
<script type="text/javascript"> /* * 函数名:dateAdd * 参数说明: * datepart:要操作的时间部分,可选值: * 'y':年 * 'm':月 * 'd':一月中的天数 * 'w':一周中的天数 * 'h':小时 * 'm':分钟 * 's':秒 * 'ms':毫秒 * number:改变的数量正负整数 * date:date对象实例 * 返回操作后的date对象 */ function dateAdd(datepart, number, date) { // var date = new Date(); switch (datepart) { case 'y': date.setFullYear(date.getFullYear() + number); break; case 'm': date.setMonth(date.getMonth() + number); break; case 'd': date.setDate(date.getDate() + number); break; case 'w': date.setDate(date.getDate() +7*number); break; case 'h': date.setHours(date.getHours() + number); break; case 'm': date.setMinutes(date.getMinutes() + number); break; case 's': date.setSeconds(date.getSeconds() + number); break; case 'ms': date.setMilliseconds(date.getMilliseconds() + number); break; } return date; } </script>
Math对象
小数取整 ceil ,floor 方法
ceil 方法提供一个浮点数的上舍入操作即:返回一个>=源数的整数,
floor 方法提供一个浮点数的下舍入操作即:返回一个<=源数的整数,
Math对象提供静态方法 Math.FunctionName(arg);
<script type="text/javascript"> function test() { var a = 3.14; var b = -12.3; alert(Math.ceil(a));//4 alert(Math.floor(a));//3 alert(Math.ceil(b));//-12 alert(Math.floor(b));//-13 } test(); </script>
得到随机数
Math.random();总是返回一个介于0-1之间的随机数,
<script type="text/javascript"> function test() { var a = Math.random() document.write(Math.floor(a * 10) + '<br/>'); //对产生的种子数*10下舍得到0-9的整数 } test(); </script>
幂运算
Math.pow();方法接受两个参数,第一个为底数,第二个为幂数。
<script type="text/javascript"> function test() { document.write(Math.pow(2,3) + '<br/>');//8 } test(); </script>
最大值,最小值
需要在一组数中选出最大值或者最小值时,可以用max,min方法,都接受0或者多个数字作为参数,返回最大值和最小值,如果参数数量为0,则返回-Infinity,Infinity,如果有一个参数为NaN,或者是不能转化为数字的其他数据类型,则都返回NaN,
<script type="text/javascript"> function test() { alert(Math.min(1, 2, 3, 4, 5, 6));//1 alert(Math.max(1, 2, 3, 4, 5, 6));//6 } test(); </script>