前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Javascript中的Date.now() 方法与Date.UTC() 方法 ,Date.parse() 方法

Javascript中的Date.now() 方法与Date.UTC() 方法 ,Date.parse() 方法

作者头像
acoolgiser
发布2019-01-17 10:35:46
1.7K0
发布2019-01-17 10:35:46
举报
文章被收录于专栏:acoolgiser_zhuanlanacoolgiser_zhuanlan

1. Date.now() 方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数。

语法:无参数

var timeInMs = Date.now();

描述:

now()方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数,类型为Number。

因为 now() 是Date的一个静态函数,所以必须以 Date.now() 的形式来使用。

2. 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 之间的一个整数,表示毫秒

描述:

UTC 方法接受以逗号隔开的日期参数,返回1970-1-1 00:00:00 UTC到指定的日期之间的毫秒数。

你应该指定一个完整格式的年份,如 1998。如果年份被指定为 0 到 99 之间,则该方法会将年份转换为 20 世纪的一个年份(即 1990 + year),例如,指定为 95, 则年份为 1995。

UTC 方法与 Date 有两点不同:

Date.UTC 方法使用协调世界时代替本地时间。
Date.UTC 方法返回一个时间数值,而不是一个日期对象。
如果有一个指定的参数超出其合理范围,则 UTC 方法会通过更新其他参数直到该参数在合理范围内。例如,为月份指定 15,则年份将会加 1,然后月份将会使用 3。

由于 UTC 是 Date(日期对象)的一个静态方法,所以应该在 Date 上直接调用,就像 Date.UTC(),而不要把它作为创建的日期对象的方法。

例子:使用 Date.UTC

下面的语句使用 UTC 时间代替本地时间创建了一个日期对象。

var utcDate = new Date(Date.UTC(96, 11, 1, 0, 0, 0));

 3. Date.parse()

Date.parse() 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN。

不推荐在ES5之前使用Date.parse方法,因为字符串的解析完全取决于实现。直到至今,不同宿主在如何解析日期字符串上仍存在许多差异,因此最好还是手动解析日期字符串(在需要适应不同格式时库能起到很大帮助)。

语法

显式调用:

Date.parse(dateString)

隐式调用:

new Date(dateString)

参数

dateString

一个符合 RFC2822 或 ISO 8601 日期格式的字符串(其他格式也许也支持,但结果可能与预期不符)。

返回值

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

描述

parse 方法接受一个日期字符串(例如 "Dec 25, 1995"),并返回从1970-1-1 00:00:00 UTC到该日期字符串所表示日期的毫秒数。该方法在基于字符串值设置日期值时很有用,例如结合使用setTime() 方法和 Date() 构造函数。

parse 方法接受一个表示时间的字符串,返回相应的时间值。该方法可以接受符合 RFC2822 / IETF 日期语法 (RFC2822 Section 3.3) 的字符串,如 "Mon, 25 Dec 1995 13:30:00 GMT"。该方法能够理解美国大陆时区的缩写,但是为了更通用,应该使用时区偏移,如 "Mon, 25 Dec 1995 13:30:00 +0430" (格林威治的子午线向东偏移4小时30分钟)。如果没有指定时区,默认使用本地时区。

GMT 和 UTC 被看作相等。 如果 RFC2822 Section 3.3 格式中不包含时区信息时,会以本地时区来解析日期字符串。

由于在解析日期字符串时存在偏差会导致结果不一致,因此推荐始终手动解析日期字符串,特别是不同的ECMAScript实现会把诸如“2015-10-12 12:00:00”的字符串解析为NaN,UTC或者本地时间。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年10月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Date.now() 方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数。
  • 2. Date.UTC() 方法接受的参数同日期构造函数接受最多参数时一样,返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数。
    • 例子:使用 Date.UTC
    •  3. Date.parse()
    • 语法
      • 参数
        • 返回值
        • 描述
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档