javascript中的Date对象和Math对象

1.Date对象

1.创建Date对象

通过new方法创建对象

var time1=new Date()

方法1:不指定参数

var time1=new Date();
alert(time1.toLocaleString( ));

方法2:参数为日期字符串

var time2=new Date("2017/8/8 11:12");
alert(time2.toLocaleString( ));
var time3=new Date("2016/03/20 11:12");
alert(time3.toLocaleString( ));

方法3:参数为毫秒数

var time3=new Date(5000);
alert(time3.toLocaleString( ));
alert(time3.toUTCString());

方法4:参数为年月日小时分钟秒毫秒

var time4=new Date(2004,2,20,11,12,0,300);
alert(time4.toLocaleString( ));//毫秒并不直接显示

2.Date对象的方法

1.获取日期和时间

getDate()                获取日
getDay()                 获取星期
getMonth()               获取月(0-11)
getFullYear()            获取完整年份
getYear()                获取年
getHours()               获取小时
getMinutes()             获取分钟
getSeconds()             获取秒
getMilliseconds()        获取毫秒
getTime()                返回累计毫秒数(从1970/1/1午夜)

例子:

<script type="text/javascript" src="index.js">
    function getCurrentDate() {
        var date = new Date();              //创建Date对象,没有填入任何参数那么就是当前时间
        var year = date.getFullYear();      //获得当前年份
        var month = date.getMonth() + 1;    //获得当前月份js中月份是从0到11.
        var day = date.getDate();           //获得当前日
        var hour = date.getHours();         //获得当前小时
        var min = date.getMinutes();        //获得当前分钟
        var sec = date.getSeconds();        //获得当前秒
        var week = date.getDay();           //获得当前星期,没有getWeek

        // 2014年06月18日 15:40:30 星期三
        return year + "年" + changeNum(month) + "月" + day + "日 " + hour + ":" + min + ":" + sec + " " + parseWeek(week);
    }

    window.alert(getCurrentDate());
    //解决 自动补齐成两位数字的方法
    function changeNum(num) {
        if (num < 10) {
            return "0" + num;
        } else {
            return num;
        }

    }
    //将数字 0~6 转换成 星期日到星期六
    function parseWeek(week) {
        var arr = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
        //             0      1      2      3 .............
        return arr[week];
    }
</script>

用浏览器打开该文件,会弹出一个窗口,显示如下:

2.设置日期和时间

setDate(day_of_month)                               设置日
setMonth (month)                                    设置月
setFullYear (year)                                  设置年
setHours (hour)                                     设置小时
setMinutes (minute)                                 设置分钟
setSeconds (second)                                 设置秒
setMillliseconds (ms)                               设置毫秒(0-999)
setTime (allms)                                     设置累计毫秒(从1970/1/1午夜)
	
var x=new Date();
x.setFullYear (1997);                               //设置年1997
x.setMonth(7);                                      //设置月7
x.setDate(1);                                       //设置日1
x.setHours(5);                                      //设置小时5
x.setMinutes(12);                                   //设置分钟12
x.setSeconds(54);                                   //设置秒54
x.setMilliseconds(230);                             //设置毫秒230
document.write(x.toLocaleString( )+"<br>");         //返回1997年8月1日5点12分54秒

x.setTime(870409430000);                            //设置累计毫秒数
document.write(x.toLocaleString( )+"<br>");         //返回1997年8月1日12点23分50秒

3.日期和时间的转换

getTimezoneOffset():8个时区×15度×4分/度=480;
返回本地时间与GMT的时间差,以分钟为单位
toUTCString()
返回国际标准时间字符串
toLocalString()
返回本地格式时间字符串
Date.parse(x)
返回累计毫秒数(从1970/1/1午夜到本地时间)
Date.UTC(x)
返回累计毫秒数(从1970/1/1午夜到国际时间)

2.Math对象

1.Math对象中的属性方法

abs(x)              返回数的绝对值。
exp(x)              返回e的指数。
ceil(x)				天花板函数,向上取整
	如果参数x是整数,取整之后是参数本身
	如果参数x是小数,对参数进行向上舍入
floor(x)			对数进行下舍入。
	如果参数x是整数,取整之后是参数本身
	如果参数x是小数,对参数进行向下舍入
log(x)              返回数的自然对数(底为e)。
max(x,y)			返回 x 和 y 中的最高值。
min(x,y)			返回 x 和 y 中的最低值。
pow(x,y)			返回 x 的 y 次幂。
random()			返回 0 ~ 1 之间的随机数。
round(x)			对参数四舍五入
sin(x)              返回数的正弦。
sqrt(x)             返回数的平方根。
tan(x)              返回角的正切。

2.方法练习

alert(Math.random()); 		// 获得随机数 0~1 不包括1.
alert(Math.round(1.5));     // 四舍五入
alert(Math.max(1,2));		// 2
alert(Math.min(1,2));		// 1 
alert(Math.pow(2,4));		// pow 计算参数2的4次方.

练习:获取1-100的随机整数,包括1和100

var num=Math.random();
num=num*10;
num=Math.round(num);
alert(num)
posted @ 2017-08-08 22:30  renpingsheng  阅读(279)  评论(0编辑  收藏  举报