javascript中的Date对象和Math对象

时间:2022-06-03 14:32:19

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>

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

javascript中的Date对象和Math对象

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)