一个程序员的自我修养
Delphi象吉普车,什么路上都能开,却在啥路上也开不好;PB就象卡丁车,只能在固定线路上开,到室外就有些不稳;VC象跑车,你开得起却买不起,而且一旦发生故障,想修都找不到毛病在哪;Java象敞棚车,不管刮风下雨还是艳阳高照,都能照开不误;VB就是摩托车,骑的时间越长,你越痛恨它!

一、Math对象

Math对象中封装了一些数学函数,方便我们做运算使用。

这里简单介绍几种常用的数学函数。
1、四舍五入

console.log(Math.round(4.5));//5
console.log(Math.round(4.2));//4

2、向上取整

console.log(Math.ceil(1.2));//2
console.log(Math.ceil(-1.2));//-1

3、向下取整

console.log(Math.ceil(1.2));//1
console.log(Math.ceil(-1.2));//-2

4、x的y次方

//3的2次方
console.log(Math.pow(3,2));//9
//2的3次方
console.log(Math.pow(2,3));//8

5、开平方

console.log(Math.sqrt(4));//2

6、绝对值

console.log(Math.abs(-1));//1

6、比较返回较大的数

console.log(Math.max(4, 5)));//5

7、比较返回较小的数

console.log(Math.min(4, 5)));//4

8、0-1之间的随机数

console.log(Math.random());
//随机0-10之间的数
console.log(Math.random()*10);

二、Date对象

2.1、了解时间

格林尼治时间(GTM),是英国郊区皇家格林尼治天文台的时间,因为地球自转的原因,不同经度上的时间是不相同的,格林尼治天文台是经度为0的地方。世界上发生的重大时间都是以格林尼治时间时间为标准的。
【例如】北京是东八区,时间比格林尼治时间快8个小时。比如格林尼治时间是1日0点,北京时间就是1日早8点

世界协调时间(UTC),世界时间。1970年1月1日0点。

2.2、Date

ECMAScript中的Date类型是在早期Java中的java.util.Date类的基础上构建的。为此Date类型使用自UTC1970年1月1日午夜(零时)开始经过的毫秒数保存时间的。

2.3、Date常用方法

1、创建时间

//1.获取当前时间
//Date()传参是无效的  返回的是当前的时间
var d = Date("2016-5-20");
console.log(d);//Tue Aug 01 2017 17:04:43 GMT+0800 (中国标准时间)

//2.Date的构造函数 获取时间
var d2 = new Date();
console.log(d2);//Tue Aug 01 2017 17:04:43 GMT+0800 (中国标准时间)

//3.传入毫秒数
//假设开发者所在的时区是格林尼治时区  
//电脑上东八区 -- 时区转换   chrome浏览器  
var d3 = new Date(-24*3600*1000);
console.log(d3);//Wed Dec 31 1969 08:00:00 GMT+0800 (中国标准时间)

//4.传入表示时间的字符串
//月 日,年 时:分:秒
var d4 = new Date("6 22,2016 12:00:00");
console.log(d4);//Wed Jun 22 2016 12:00:00 GMT+0800 (中国标准时间)

//ISO 2016-06-22  假设开发者所在的时区是 0度
//非ISO写法   假设开发者所在的时区就是电脑系统的时区
var d5 = new Date("2016-06-22");
console.log(d5);//Wed Jun 22 2016 08:00:00 GMT+0800 (中国标准时间)

var d6 = new Date("2016/06/22");
console.log(d6);//Wed Jun 22 2016 00:00:00 GMT+0800 (中国标准时间)

//5.传入年月日来创建日期对象
//(年,月[,日,时,分,秒])
//月份计数是从0开始的  0---一月  1--二月
//日期计数是从1开始的
var d7 = new Date(2016,6,12,0,0);
console.log(d7);//Tue Jul 12 2016 00:00:00 GMT+0800 (中国标准时间)

2、获取年、月、日、时、分、秒、星期几

var d2 = new Date(2016,12,8,12,0,0);//年月 日 时 分 秒
//Thu May 05 2016 12:00:00 GMT+0800 (中国标准时间)
console.log(d2);
//getFullYear  年
console.log(d2.getFullYear());//四位数字的年份
//getMonth 月
console.log(d2.getMonth());//某个月份(0 - 11) 12月份是0
//getDate 天
console.log(d2.getDate());//返回一个月中的某一天
//getDay 星期几
console.log(d2.getDay());//返回一周中的某一天(0 - 6) 周日是0
//时 分 秒
console.log(d2.getHours());// 0 - 23
console.log(d2.getMinutes());// 0 - 59
console.log(d2.getSeconds());// 0 59
console.log(d2.getMilliseconds());//毫秒 0 -- 999

2.4、日期处理

1、日期的运算
两个日期对象进行减法运算,返回的就是它们间隔的毫秒数;进行加法运算,返回的就是连接后的两个字符串。

var d1 = new Date(2016,6,22,15,55,30);
var d2 = new Date(2016,6,22,15,55,59);

//日期对象相减  结果是两个日期之间相差的毫秒数
console.log(d2-d1);//29000

//日期对象相加 结果是 将两个日期对象先转换成字符串 然后将两个字符串拼接
console.log(d2+d1);
//Fri Jul 22 2016 15:55:59 GMT+0800 (中国标准时间)Fri Jul 22 2016 15:55:30 GMT+0800 (中国标准时间)

2、Date.parse("2016-05-08")
参数:表示日期的字符串;格式:2016-05-08  2015/05/08 12:00:00
返回值:返回该日期距离1970年1月1日0点的毫秒数

//1970 1 1  到这个时间的毫秒数
console.log(Date.parse("2016-10-24"));//1477267200000

3、getTime()获取某个日期自1970年以来的毫秒数
setTime()修改日期的毫秒数,对应的日期时间也会修改

var d = new Date();
//获取毫秒数
console.log(d.getTime());//1501579151805

//设置毫秒数
d.setTime(1000);
console.log(d);//Thu Jan 01 1970 08:00:01 GMT+0800 (中国标准时间)

2.5、封装函数,将时间转成如下格式:2016年07月22日 星期五 15:55:30

function getDateString(d){
		var str = d.getFullYear()+"年"
                  +twoNumber(d.getMonth()+1)+"月"
                  +twoNumber( d.getDate() )+"日 "
                  +getWeek( d.getDay() )+" "
                  +twoNumber( d.getHours() )+":"
                  +twoNumber( d.getMinutes() )+":"
                   +twoNumber( d.getSeconds() );
		return str;
}
//不足两位 高位补0
function twoNumber(num){	
	return num<10?"0"+num:num;
}
function getWeek(num){
	switch(num){
		case 0:
			return "星期日";
		case 1:
			return "星期一";
		case 2:
			return "星期二";
		case 3:
			return "星期三";
		case 4:
			return "星期四";
		case 5:
			return "星期五";
		case 6:
			return "星期六";	
			}
}
//使用封装好的函数
var d = new Date(2016,6,22,15,55,30);
console.log(getDateString(d));//2016年07月22日 星期五 15:55:30
posted on 2017-08-01 17:26  阳光洒在代码上  阅读(192)  评论(0编辑  收藏  举报