美文网首页
Date & getTime 【偏】

Date & getTime 【偏】

作者: Christoles | 来源:发表于2019-02-26 00:03 被阅读0次

【偏】指的是讲除了较基础的知识


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年

\color{red}{坑点:toLocaleString 和 toLocalString不是在任何情况下通用的!}

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 ' 格式。

相关文章

网友评论

      本文标题:Date & getTime 【偏】

      本文链接:https://www.haomeiwen.com/subject/ztjnyqtx.html