资讯专栏INFORMATION COLUMN

JavaScript引用类型---Date

charles_paul / 1545人阅读

摘要:一创建实例对象依据系统设置的当前时间来创建一个对象参数代表自年月日世界标准时间起经过的毫秒数参数表示日期的字符串值。

一、创建Date实例对象 1.new Date();依据系统设置的当前时间来创建一个Date对象
    let today = new Date();
    console.log(today); //Thu Jun 14 2018 14:51:00 GMT+0800 (CST)
2.new Date(value);

参数:value  代表自1970年1月1日00:00:00 (世界标准时间) 起经过的毫秒数

    let day = new Date(1528959690000);
    console.log(day); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
3.new Date(dateString);

参数:dateString  表示日期的字符串值。该字符串应该能被 Date.parse() 方法识别

    let day1 = new Date("2018-06-14T07:01:30.000Z");
    console.log(day1); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
4.new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

参数:

year  代表年份的整数值,为了避免2000年问题最好指定4位数的年份; 使用 1998, 而不要用 98

month  代表月份的整数值从0(1月)到11(12月)

day  代表一个月中的第几天的整数值,从1开始

hour  代表一天中的小时数的整数值 (24小时制)

minute  分钟数

second  秒数

millisecond  表示时间的毫秒部分的整数值

    let day2 = new Date(2018,5,14);
    console.log(day2); //Thu Jun 14 2018 00:00:00 GMT+0800 (CST)

    let day3 = new Date(2018,5,14,15,1,30);
    console.log(day3); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
二、Date静态属性 1.Date.prototype 表示Date构造函数的原型

Date实例继承自Date.prototype,你可以使用构造函数的原型对象向所有Date实例添加属性或方法

三、Date静态方法 1.Date.UTC() 方法返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数

语法:Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])
参数:

year  1900 年后的某一年份

month  0 到 11 之间的一个整数,表示月份

date  1 到 31 之间的一个整数,表示某月当中的第几天

hrs  0 到 23 之间的一个整数,表示小时

min  0 到 59 之间的一个整数,表示分钟

sec  0 到 59 之间的一个整数,表示秒

ms  0 到 999 之间的一个整数,表示毫秒

    let utcDate = new Date(Date.UTC(2018, 5, 14, 7, 1, 30));
    console.log(Date.UTC(2018, 5, 14, 7, 1, 30)); //1528959690000
    console.log(utcDate); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
2.Date.now() 方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数
    let nowDate = new Date(Date.now());
    console.log(nowDate); //Fri Jun 15 2018 16:31:05 GMT+0800 (CST)
    console.log(Date.now()); //1529051465358
3.Date.parse()方法返回一个表示从1970-1-1 00:00:00 UTC到给定日期字符串所表示时间的毫秒数的数值

语法:Date.parse(dateString)

参数:dateString   一个符合 RFC2822 或 ISO 8601 日期格式的字符串

返回值:返回一个从1970-1-1 00:00:00 UTC到给定日期字符串所表示时间的毫秒数的数值。如果参数不能解析为一个有效的日期,则返回NaN

    let time = Date.parse("2018-06-14T07:01:30.000Z");
    console.log(time);// 1528959690000
四、Date实例方法 1.年 setFullYear() 方法根据本地时间为一个日期对象设置年份

语法:dateObj.setFullYear(yearValue[, monthValue[, dayValue]])
参数:

yearValue  指定年份的整数值,例如1995。

monthValue  一个0到11之间的整数值,表示从一月到十二月。

dayValue  一个1到31之间的整数值,表示月份中的第几天。如果你指定了 dayValue 参数,就必须同时指定monthValue

getFullYear() 方法根据本地时间返回指定日期的年份

语法:dateObj.getFullYear()
返回值:根据当地时间,返回一个对应于给定日期的年份数字

    let date1 = new Date(1528959690000);
    console.log(date1); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date1.setFullYear(2017)); //1497423690000
    console.log(date1.getFullYear()); //2017
setUTCFullYear() 方法根据世界标准时间为一个具体日期设置年份

语法:dateObj.setUTCFullYear(yearValue[, monthValue[, dayValue]])
参数:

yearValue  指定年份整数值,例如,1995

monthValue  可选,指定一个0-11之间的整数值,代表从一月到十二月

dayValue  可选,指定一个1-31之间的整数值,代表月份中的第几天,如果你指定了dayValue参数,那么你必须指定monthValue参数

getUTCFullYear() 以世界时为标准,返回一个指定的日期对象的年份

语法:dateObj.getUTCFullYear()
返回值:返回一个绝对数值,符合 Year-2000 标准,例如 1995

let day1 = new Date(1528959690000);
console.log(day1.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
console.log(day1.setUTCFullYear(2017)); //1497423690000
console.log(day1.getUTCFullYear()); //2017
2.月 setMonth() 方法根据本地时间为一个设置年份的日期对象设置月份

语法:dateObj.setMonth(monthValue[, dayValue])
参数:

monthValue  介于 0 到 11 之间的整数(表示一月到十二月)

dayValue  从 1 到 31 之间的整数,表示月份中的第几天

getMonth() 方法根据本地时间,返回一个指定的日期对象的月份

语法:dateObj.getMonth()
返回值:返回一个0 到 11的整数值: 0 代表一月份,1 代表二月份, 2 代表三月份,依次类推

    let date2 = new Date(1528959690000);
    console.log(date2); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date2.setMonth(4)); //1526281290000
    console.log(date2.getMonth()); //4
setUTCMonth()方法根据通用的时间来设置一个准确的月份

语法:dateObj.setUTCMonth(monthValue[, dayValue])
参数:

monthValue  一个0-11的整数,代表1月到12月

dayValue  可选参数,一个1-31的整数,代表一个月的天数

getUTCMonth方法以世界时为标准,返回一个指定的日期对象的月份,它是从 0 开始计数的(0 代表一年的第一个月)

语法:dateObj.getUTCMonth()
返回值:返回一个 0 到 11 的整数,分别对应以下月份:0 代表一月,1 代表二月,2 代表三月,依次类推

    let day2 = new Date(1528959690000);
    console.log(day2.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day2.setUTCMonth(4)); //1526281290000
    console.log(day2.getUTCMonth()); //4
3.日 setDate() 方法根据本地时间来指定一个日期对象的天数

语法:dateObj.setDate(dayValue)
参数:dayValue  一个整数,表示该月的第几天

getDate() 根据本地时间,返回一个指定的日期对象为一个月中的第几天

语法:dateObj.getDate()
返回值:返回一个1 到 31的整数值

    let date3 = new Date(1528959690000);
    console.log(date3); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date3.setDate(21)); //1529564490000
    console.log(date3.getDate()); //21
setUTCDate() 方法就是根据全球时间设置特定date对象的日期

语法:dateObj.setUTCDate(dayValue)
参数:dayValue  一个1-31的整形数字,用来指定日期

getUTCDate() 方法以世界时为标准,返回一个指定的日期对象为一个月中的第几天

语法:dateObj.getUTCDate()
返回值:返回一个 1 到 31 的整数值

    let day3 = new Date(1528959690000);
    console.log(day3.toUTCString()); ////Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day3.setUTCDate(25)); //1529910090000
    console.log(day3.getUTCDate()); //25
4.星期几 getDay() 方法根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天

语法:dateObj.getDay()
返回值:返回一个整数值: 0 代表星期日, 1 代表星期一,2 代表星期二, 依次类推

    let date = new Date(1528959690000);
    console.log(date); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date.getDay()); //4
getUTCDay() 方法以世界时为标准,返回一个指定的日期对象为一星期中的第几天,其中 0 代表星期天

语法:dateObj.getUTCDay()
返回值:返回一个对应一星期中第几天的整数:0 代表星期天,1 代表星期一,2 代表星期二,依次类推

5.时 setHours() 方法根据本地时间为一个日期对象设置小时数

语法:dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
参数:

hoursValue  一个 0 到 23 的整数,表示小时

minutesValue  一个 0 到 59 的整数,表示分钟

secondsValue  一个 0 到 59 的整数,表示秒数,如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数

msValue  一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue 和 secondsValue 参数

getHours() 方法根据本地时间,返回一个指定的日期对象的小时

语法:dateObj.getHours()
返回值:返回一个0 到 23之间的整数值

    let date4 = new Date(1528959690000);
    console.log(date4); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date4.setHours(11)); //1528945290000
    console.log(date4.getHours()); //11
setUTCHours() 方法就是根据全球时间设置特定date对象的小时数

语法:dateObj.setUTCHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
参数:

hoursValue  表示小时的整数,取值0到23之间

minutesValue  可选参数,表示分钟的整数,取值0到59之间

secondsValue  可选参数,表示秒数的整数,取值0到59之间;如果指定了该参数,就要同时指定minutesValue这个参数

msValue  可选参数,表示毫秒的整数,取值0到999之间;如果指定了该参数,就要指定minutesValue和secondsValue这两个参数

getUTCHours() 方法以世界时为标准,返回一个指定的日期对象的小时数

语法:dateObj.getUTCHours()
返回值:返回一个 0 到 23 的整数

    let day4 = new Date(1528959690000);
    console.log(day4.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day4.setUTCHours(15)); //1528988490000
    console.log(day4.getUTCHours()); //15
6.分 setMinutes() 方法根据本地时间为一个日期对象设置分钟数

语法:dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
参数:

minutesValue  一个 0 到 59 的整数,表示分钟数。

secondsValue  一个 0 到 59 的整数,表示秒数,如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数。

msValue  一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue和secondsValue 参数

getMinutes() 方法根据本地时间,返回一个指定的日期对象的分钟数

语法:dateObj.getMinutes()
返回值:返回一个0 到 59的整数值

    let date5 = new Date(1528959690000);
    console.log(date5); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date5.setMinutes(30)); //1528961430000
    console.log(date5.getMinutes()); //30
setUTCMinutes()方法会根据根据全球时间来设置指定日期的分钟数

语法:dateObj.setUTCMinutes(minutesValue[, secondsValue[, msValue]])
参数:

minutesValue  必填,表示要设置的分钟数,是一个介于0和59之间的整数

secondsValue  可选参数,表示要设置的秒数,同样也是一个介于0和59之间的整数,如果你传入了这个参数,那么你就必须要传入minutesValue

msValue  可选参数,表示要设置的毫秒数,这是一个介于0和999之间的数字,如果你传入了这个参数,那么你就必须要传入minutesValue和secondsValue

getUTCMinutes() 方法以世界时为标准,返回一个指定的日期对象的分钟数

语法:dateObj.getUTCMinutes()
返回值:返回一个 0 到 59 的整数

    let day5 = new Date(1528959690000);
    console.log(day5.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day5.setUTCMinutes(45)); //1528962330000
    console.log(day5.getUTCMinutes()); //45
7.秒 setSeconds() 方法根据本地时间设置一个日期对象的秒数

语法:dateObj.setSeconds(secondsValue[, msValue])
参数:

secondsValue  一个 0 到 59 的整数

msValue  一个 0 到 999 的数字,表示微秒数

getSeconds() 方法根据本地时间,返回一个指定的日期对象的秒数

语法:dateObj.getSeconds()
返回值:返回一个 0 到 59 的整数值

    let date6 = new Date(1528959690000);
    console.log(date6); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date6.setSeconds(40)); //1528959700000
    console.log(date6.getSeconds()); //40
setUTCSeconds() 方法为一个依据国际通用时间的特定日期设置秒数

语法:dateObj.setUTCSeconds(secondsValue[, msValue])
参数:
       

secondsValue  一个在0到59之间的整数,表示秒数

msValue  可选参数,一个0到999之间的数字,代表毫秒数

getUTCSeconds() 方法以世界时为标准,返回一个指定的日期对象的秒数

语法:dateObj.getUTCSeconds()
返回值:返回一个 0 到 59 的整数

    let day6 = new Date(1528959690000);
    console.log(day6.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day6.setUTCSeconds(50)); //1528959710000
    console.log(day6.getUTCSeconds()); //50
8.毫秒 setMilliseconds() 方法会根据本地时间设置一个日期对象的豪秒数

语法:dateObj.setMilliseconds(millisecondsValue)
参数:millisecondsValue  一个 0 到 999 的数字,表示豪秒数

getMilliseconds() 方法,根据本地时间,返回一个指定的日期对象的毫秒数

语法:dateObj.getMilliseconds()
返回值:方法返回一个0 到 999的整数

let date7 = new Date(1528959690000);
console.log(date7); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
console.log(date7.setMilliseconds(100)); //1528959690100
console.log(date7.getMilliseconds()); //100
setUTCMilliseconds() 方法会根据世界时来设置指定时间的毫秒数

语法:dateObj.setUTCMilliseconds(millisecondsValue)
参数:millisecondsValue  0 - 999 之间的数值,代表毫秒数

getUTCMilliseconds() 方法以世界时为标准,返回一个指定的日期对象的毫秒数

语法:dateObj.getUTCMilliseconds()
返回值:返回一个 0 到 999 的整数

    let day7 = new Date(1528959690000);
    console.log(day7.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day7.setUTCMilliseconds(900)); //1528959690900
    console.log(day7.getUTCMilliseconds()); //900
9.time setTime() 方法以一个表示从1970-1-1 00:00:00 UTC计时的毫秒数为来为 Date 对象设置时间

语法:dateObj.setTime(timeValue)
参数:timeValue  一个整数,表示从1970-1-1 00:00:00 UTC开始计时的毫秒数

getTime() 方法返回一个时间的格林威治时间数值,这个方法的功能和 valueOf() 方法一样

语法:dateObj.getTime()
返回值:返回一个从1970年1月1日0时0分0秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数

    let date8 = new Date(1528959690000);
    console.log(date8); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date8.setTime(1528959690100)); //1528959690100
    console.log(date8.getTime()); //1528959690100
10.获取时间字符串

toDateString() 方法以美式英语和人类易读的形式返回一个日期对象日期部分的字符串

toTimeString() 方法以人类易读形式返回一个日期对象时间部分的字符串

toUTCString() 方法把一个日期转换为一个字符串,使用UTC时区

toISOString() 方法返回一个 ISO(ISO 8601 Extended Format)格式的字符串:
YYYY-MM-DDTHH:mm:ss.sssZ

toJSON() 方法返回 Date 对象的字符串形式

toLocaleString() 方法返回该日期对象的字符串,该字符串格式因不同语言而不同

toLocaleDateString() 方法返回该日期对象日期部分的字符串,该字符串格式因不同语言而不同

toLocaleTimeString() 方法返回该日期对象时间部分的字符串,该字符串格式因不同语言而不同

valueOf() 方法返回一个 Date 对象的原始值

let day9 = new Date(1528959690000);
console.log(day9); //Thu Jun 14 2018 15:01:30 GMT+0800 (中国标准时间)
console.log(day9.toString()); //Thu Jun 14 2018 15:01:30 GMT+0800 (中国标准时间)
console.log(day9.toDateString()); //Thu Jun 14 2018
console.log(day9.toTimeString()); //15:01:30 GMT+0800 (中国标准时间)
console.log(day9.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
console.log(day9.toISOString()); //2018-06-14T07:01:30.000Z
console.log(day9.toJSON()); //2018-06-14T07:01:30.000Z
console.log(day9.toLocaleString()); //2018/6/14 下午3:01:30
console.log(day9.toLocaleDateString()); //2018/6/14
console.log(day9.toLocaleTimeString()); //下午3:01:30
console.log(day9.valueOf()); //1528959690000

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/98480.html

相关文章

  • javascript引用类型Date

    摘要:实际上如果我们直接将字符串传入构造函数,后台也会调用方法。而直接与方法参数相同的值传入构造函数,获取的日期对象都是基于系统设置的本地时间创建的。中国标准时间中国标准时间中国标准时间由上面的代码可以发现,其实是的引用,发生变化时,也随之改变。 最近的项目需要实现一个时间表格的效果,如下图所示,每次更换第几周时也更新对应的日期。使用了Date类型,也踩了些坑。故写下此篇笔记。 showIm...

    tinna 评论0 收藏0
  • JavaScript引用类型——“Date类型”的注意要点

    摘要:类型中的类型使用自,国际协调时间年月日午夜零时开始经过的毫秒数来保存日期。类型保存的日期能够精确到年月日之前或之后的年。和的输出因浏览器不同而有所差异如年月日上午方法可用比较操作符来比较日期值。 Date 类型 ECMAScript 中的Date 类型使用自UTC(Coordinated Universal Time,国际协调时间)1970 年1 月1 日午夜(零时)开始经过的毫秒数来...

    brianway 评论0 收藏0
  • JavaScript即学即用教程[1]-类型系统

    摘要:如图反而,由于这些的都是继承自,所以原型链拐向了。因此这样一个实例,他顺着原型链是找到了如图选学内容如果我们刨根问底,去寻找和的根源的话,那这个问题又稍微有点复杂了。 基本类型 Number, Boolean, String, null, undefined 什么样的变量是 undefined 声明了变量却没赋值 未声明的变量 包装类型 其实js里面也有像java,c#里所谓的包装...

    toddmark 评论0 收藏0
  • 闲话JavaScript数据类型

    摘要:支持的类型的内置数据类型罗列如下自定义自定义这三种类型的赋值是同类似的。这根不同,这因为是没有包装类新增的基本类型,只支持函数式赋值,不支持字面量和函数构造。 JavaScript支持的类型 JS的内置数据类型罗列如下: undefined null bool number string function object Function Date ...

    jerryloveemily 评论0 收藏0
  • 基础回顾-javascript数据类型

    摘要:栈区由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。属性返回对创建此对象的构造函数的引用。所有的和都是宿主对象参考高级程序设计堆和栈的概念和区别全面解析中的数据类型与类型转换 数据类型 数据类型划分 javascript中定义了6中基本数据类型(原始值类型),和一种复杂数据类型(引用类型),所谓复杂类型,其本质是由无序的名值对(key:val...

    codergarden 评论0 收藏0
  • JavaScript系列--浅析JavaScript解析赋值、浅拷贝和深拷贝的区别

    摘要:它将返回目标对象。有些文章说是深拷贝,其实这是不正确的。深拷贝相比于浅拷贝速度较慢并且花销较大。拷贝前后两个对象互不影响。使用深拷贝的场景完全改变变量之后对没有任何影响,这就是深拷贝的魔力。 一、赋值(Copy) 赋值是将某一数值或对象赋给某个变量的过程,分为: 1、基本数据类型:赋值,赋值之后两个变量互不影响 2、引用数据类型:赋址,两个变量具有相同的引用,指向同一个对象,相互之间有...

    laznrbfe 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<