资讯专栏INFORMATION COLUMN

Date对象

wwq0327 / 2990人阅读

摘要:所以,两个日期对象进行减法运算,返回的就是它们间隔的毫秒数进行加法运算,返回的就是连接后的两个字符串。类设置实例对象对应的每个月的几号,返回改变后毫秒时间戳。方法返回实例对象距离年月日对应的毫秒数,该方法等同于方法。

仅个人学习的一些要点,欢迎指正,谢谢!参考资料

参数

作为普通函数调用,即使有参数,仍返回当时时间

作为构造函数是,可接受多种参数

new Date(milliseconds)

new Date(datestring) //datestring能被Date.parse()解析

new Date(year, month [, day, hours, minutes, seconds, ms])//仅提供一个参数,将视为毫秒

>    year:四位年份,如果写成两位数,则加上1900
>    month:表示月份,0表示一月,11表示12月
>    date:表示日期,1到31
>    hour:表示小时,0到23
>    minute:表示分钟,0到59
>    second:表示秒钟,0到59
>    ms:表示毫秒,0到999

日期的运算

类型转换时,Date对象的实例如果转为数值,则等于对应的毫秒数;如果转为字符串,则等于对应的日期字符串。所以,两个日期对象进行减法运算,返回的就是它们间隔的毫秒数;进行加法运算,返回的就是连接后的两个字符串。

        var d1=new Date(2000,0,1);
        var d2=new Date("2000/01/01");
        console.log(typeof(d1+d2));//string
        console.log(d1-d2);//0
Date对象的静态方法

Date.now()

Date.now方法返回当前距离1970年1月1日 00:00:00 UTC的毫秒数(Unix时间戳乘以1000)

Date.UTC()

默认情况下,Date对象返回的都是当前时区的时间。Date.UTC方法可以返回UTC时间(世界标准时间)。该方法接受年、月、日等变量作为参数,返回当前距离1970年1月1日 00:00:00 UTC的毫秒数。

Date.parse()

Date.parse方法用来解析日期字符串,返回距离1970年1月1日 00:00:00UTC的毫秒数。

Date实例对象的方法

to类:从Date对象返回一个字符串,表示指定的时间。
get类:获取Date对象的日期和时间。
set类:设置Date对象的日期和时间。

to类

Date.prototype.toString()

Date.prototype.toUTCString()//返回UTC时间,也就是比北京时间晚8个小时

Date.prototype.toISOString()//返回UTC时间的ISO写法

Date.prototype.toJSON()//返回一个符合JSON格式的ISO格式的日期字符串,与toISOString方法的返回结果完全相同。

Date.prototype.toDateString()//返回日期字符串

Date.prototype.toTimeString()//返回时间字符串

Date.prototype.toLocaleDateString()//返回日期的当地写法

Date.prototype.toLocaleTimeString()//返回时间的当地写法

var d = new Date(2013, 0, 1);
d
// "Tue Jan 01 2013 00:00:00 GMT+0800 (CST)"
d.toString()
// "Tue Jan 01 2013 00:00:00 GMT+0800 (CST)"
d.toUTCString()
// "Mon, 31 Dec 2012 16:00:00 GMT"
d.toISOString()
// "2012-12-31T16:00:00.000Z"
d.toJSON()
// "2012-12-31T16:00:00.000Z"
d.toDateString() // "Tue Jan 01 2013"
d.toTimeString() // "00:00:00 GMT+0800 (CST)"
d.toLocaleDateString()
// 中文版浏览器为"2013/1/1"
d.toLocaleTimeString()
// 中文版浏览器为"上午12:00:00"

get类

getTime():返回距离1970年1月1日00:00:00的毫秒数,等同于valueOf方法。
getDate():返回实例对象对应每个月的几号(从1开始)。
getDay():返回星期几,星期日为0,星期一为1,以此类推。
getYear():返回距离1900的年数。
getFullYear():返回四位的年份。
getMonth():返回月份(0表示1月,11表示12月)。
getHours():返回小时(0-23)。
getMilliseconds():返回毫秒(0-999)。
getMinutes():返回分钟(0-59)。
getSeconds():返回秒(0-59)。
getTimezoneOffset():返回当前时间与UTC的时区差异,以分钟表示,返回结果考虑到了夏令时因素。

Date对象还提供了这些方法对应的UTC版本,用来返回UTC时间。

getUTCDate()
getUTCFullYear()
getUTCMonth()
getUTCDay()
getUTCHours()
getUTCMinutes()
getUTCSeconds()
getUTCMilliseconds()

set类

setDate(date):设置实例对象对应的每个月的几号(1-31),返回改变后毫秒时间戳。
setYear(year): 设置距离1900年的年数。
setFullYear(year [, month, date]):设置四位年份。
setHours(hour [, min, sec, ms]):设置小时(0-23)。
setMilliseconds():设置毫秒(0-999)。
setMinutes(min [, sec, ms]):设置分钟(0-59)。
setMonth(month [, date]):设置月份(0-11)。
setSeconds(sec [, ms]):设置秒(0-59)。
setTime(milliseconds):设置毫秒时间戳。
setUTCDate()
setUTCFullYear()
setUTCHours()
setUTCMilliseconds()
setUTCMinutes()
setUTCMonth()
setUTCSeconds()

Date.prototype.valueOf()

valueOf方法返回实例对象距离1970年1月1日00:00:00 UTC对应的毫秒数,该方法等同于getTime方法。

问题
Date.UTC(1970,8,9)
//21686400000 
Date.parse("1970-09-09")
//21686400000
Date.parse("1970-9-9")
//21657600000
Date.parse("1970/09/09")
//21657600000

Date.UTC()以格林尼治标准时间为参照,Date.parse()以本地时间为参照

注意,在ES5之中,如果日期采用连词线(-)格式分隔,且具有前导0,JavaScript会认为这是一个ISO格式的日期字符串,导致返回的时间是以UTC时区计算的。

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

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

相关文章

  • 时间格式化及操作(js原生date对象

    摘要:设置对象中月份。设置对象中的年份四位数字。中国标准时间把对象的日期部分转换为字符串。例例中国标准时间返回年月日午夜到指定日期字符串的毫秒数。 # Date new Date(); //获取当前时间:Tue Jul 31 2018 18:21:22 GMT+0800 (中国标准时间) Date.now(); ...

    马永翠 评论0 收藏0
  • JS对象 - Date属性方法汇总

    摘要:最初计算机操作系统是位,而时间也是用位表示,能表示的最长时间范围为年,超出时间范围会发生时间回归的现象。方法通常由在后台自动调用,并不显式地出现在代码中返回的毫秒表示。返回值和方法返回的值相等 属性名 描述 prototype 为对象添加属性、方法 constructor 返回对象的引用 方法名 返回值 Date() 当前日期和时间 getDate()...

    ityouknow 评论0 收藏0
  • JavaScript中Date学习记录_013

    摘要:中对象学习记录实例用来处理日期和时间。的对象提供了数个时间的方法,也相应提供了当地时间的方法。而当地时间则是指执行的客户端电脑所设置的时间。构造函数中国标准时间代表自年月日世界标准时间起经过的毫秒数。中国标准时间表示日期的字符串值。 JavaScript中Date对象学习记录 Date 实例用来处理日期和时间。Date对象基于1970年1月1日(世界标准时间)起的毫秒数。 JavaSc...

    hersion 评论0 收藏0
  • Javascript系列之Date对象

    摘要:返回对象的月份值。设置对象的秒数值。日期转字符串中国标准时间下午返回客户端当地时间格式中国标准时间下午其他方法返回的毫秒表示返回对象与之间的毫秒值北京时间的时区为东区,起点时间实际为时间实例可互相比较,实际比较的则是毫秒数 创建Date对象 Date 对象会自动把当前日期和时间保存为其初始值。 var myDate = new Date(); //返回当前时间字符串 // Sun J...

    maybe_009 评论0 收藏0
  • JS基础篇--日期Date详解与实例扩展

    摘要:实际上,如果直接将表示日期的字符串传递给构造函数,也会在后台调用方法,例如下面的代码跟前面的是等价的。构造函数构造函数会模仿但有一点不同的是,日期和时间都是基于本地时区而非来创建。兼容性问题啊其原因就是非标准日期格式。 一:Date类型介绍 要创建一个日期对象,使用new操作符和Date构造函数即可: var now = new Date(); Date.parse()方法 其中Da...

    Apollo 评论0 收藏0
  • JavaScript 时间与日期处理实战:你肯定被坑过

    摘要:本文时间与日期处理实战你肯定被坑过从属于笔者的前端入门与最佳实践中入门与最佳实践系列文章。然而由于地球的不规则自转,导致时间有误差,因此目前已不被当作标准时间使用。而在航空上,所有使用的时间划一规定是协调世界时。 本部分的知识图谱请参考编程语言知识图谱-时间与日期。showImg(https://segmentfault.com/img/remote/1460000007581725...

    ninefive 评论0 收藏0

发表评论

0条评论

wwq0327

|高级讲师

TA的文章

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