【偏】指的是讲除了较基础的知识
date对象---获取日期对象的方法:
- 1、new Date():不传递参数的话,直接获取到的是当前的日期
- 2、new Date(y,m,d,h,m,s,ms):参数分别代表年、月、日、时、分、秒、毫秒;获取到你传入日期的日期对象,中间用逗号隔开。
- 3、new Date(string):string表示一个字符串类型的日期
- 4、new Date(ms):ms:毫秒数
var date3 = new Date(new Date().getTime());//获取毫秒数
1. new Date()和Date()的区别?
- 1、new Date() --- 返回的是一个日期对象;而 Date() --- 返回的是字符串;
- 2、直接调用Date()方法返回的值 不能 调用Date()对象的方法;
var date1 = Date();
var date2 = new Date();
console.log(date1,typeof date1);//string
console.log(date1,typeof date2);//object
//console.log(date1.getTime());//报错
console.log(date2.getTime());//返回一个时间
2. 获取时间戳的3种方法:
- 1、getTime():获取日期对象的时间戳;
- 2、直接在new Date()前面加一个加号+;
- 3、Date.parse();
//方法2:
var date4 = +new Date();
console.log(date4);//获取毫秒数
//方法3:Date.parse():
//两种时间格式有区别 ***
var date5 = Date.parse("2019-02-25");//这里的月份不用减一,获取到2019年2月,25日早上8点到1970年1月1日的时间戳
var date6 = Date.parse("2019/02/25");//这里的月份不用减一,获取到2019年2月,25日早上0点到1970年1月1日的时间戳
console.log(date5);//1551052800000
console.log(date6);//1551024000000
var date50 = new Date(date5);
var date60 = new Date(date6);
console.log(date50);//Mon Feb 25 2019 08:00:00 GMT+0800 (中国标准时间)
console.log(date60);//Mon Feb 25 2019 00:00:00 GMT+0800 (中国标准时间)
3. 转换为本地时间格式 --- toLocaleString()
var dateTime = new Date();//以下的获取方法必须在new对象在,如果没有new 获取转化不到 ,只是一个number
console.log(dateTime.toString());//Mon Feb 25 2019 15:25:06 GMT+0800 (中国标准时间)
//toLocaleString()转化为本地的日期格式 ***,返回值为字符串类型
var localDate = dateTime.toLocaleString();//2019/2/25 下午3:25:06
console.log(localDate,typeof localDate);//string
4. 原型 prototype 改造 toLocaleString 的方法
toLocaleString()
setFullYear()
console.log(Date);//火狐浏览器下可以看到代码,在谷歌下不给见
Date.prototype.toLocaleString = function(){
//自测toLocalString 效果一样 *** toLocaleString 和 toLocalString 的区别未知
return this.getFullYear()+"/"+(this.getMonth()+1)+"/"+this.getDate();
};
var date1 = new Date();
console.log("改造toLocaleString的方法:",date1.toLocaleString());//2019/2/25
//设置时间日期
console.log(date1.setFullYear(2020));
console.log("设置之后:",date1);//设置后时间改变为2020年
5. 原型属性
- prototype:使得我们有能力向 构造函数添加 方法 和 属性
- constructor:返回 对象的构成函数
console.log(Date.constructor);//谷歌浏览下看不见
console.log(Date.prototype);//可以看到方法
6. 补充 --- 关于兼容性
两种书写方式 对于 浏览器的兼容性不同
var date1 =new Date("2015-05-04 08:00");
var date2 =new Date("2015/05/04 08:00")
- 2016-05-31 不兼容ie 和 Safari
- 2016/05/31 主流浏览器都兼容(谷歌、IE、火狐、Safari、欧朋) 部分不兼容
- 总结:' 2016-05-04 ' 格式是无法被各个浏览器中,建议尽量使用 ' 2015/05/05 ' 格式。
网友评论