资讯专栏INFORMATION COLUMN

详解日期(Date)引用类型

Shisui / 3209人阅读

摘要:类型使用自,国际协调时间年月日午夜零时开始经过的毫秒数来保存日期。日期时间组件方法到目前为止,剩下还未介绍的类型的方法如下表所示,都是直接取得和设置日期值中特定部分的方法了。

Date类型使用自UTC(Coordinated Universal Time,国际协调时间)1970 年1 月1 日午夜(零时)开始经过的毫秒数来保存日期。在使用这种数据存储格式的条件下,Date 类型保存的日期能够精确到1970 年1月1 日之前或之后的285 616 年。

要创建一个日期对象,使用new 操作符和Date 构造函数即可

var date = new Date();

Date构造函数在不传入参数时返回的是当前的时间对象,如果想得到一个指定日期的对象,需要在Date构造函数中传入表示该日期日期的毫秒数(即从UTC 时间1970 年1 月1 日午夜起至该日期止经过的毫秒数).为了简化这一计算过程,ECMAScript 提供了两个方法:Date.parse()Date.UTC()

Date.parse()方法接收一个表示日期的字符串参数,然后尝试根据这个字符串返回相应日期的毫秒数。ECMA-262 没有定义Date.parse()应该支持哪种日期格式,因此这个方法的行为因实现而异,而且通常是因地区而异

var date = new Date(Date.parse("Wed Nov 18 2015 17:06:21 GMT+0800")); //传入的是中国区域日期字符串格式
var date = new Date("Wed Nov 18 2015 17:06:21 GMT+0800"); //这种方式也是正确的,解析器会自动进行转换

Date.UTC()方法同样也返回表示日期的毫秒数,但它与Date.parse()在构建值时使用不同的信息。Date.UTC()的参数分别是年份、基于0 的月份(一月是0,二月是1,以此类推)、月中的哪一天(1 到31)、小时数(0 到23)、分钟、秒以及毫秒数。在这些参数中,只有前两个参数(年和月)是必需的。如果没有提供月中的天数,则假设天数为1;如果省略其他参数,则统统假设为0

// GMT 时间2000 年1 月1 日午夜零时
var y2k = new Date(Date.UTC(2000, 0));
var y2k1 = new Date(2000, 0);

// GMT 时间2005 年5 月5 日下午5:55:55
var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));
var allFives = new Date(2005, 4, 5, 17, 55, 55);
继承的方法

与其他引用类型一样,Date 类型也重写了toLocaleString()toString()valueOf()方法;但这些方法返回的值与其他类型中的方法不同。Date 类型的toLocaleString()方法会按照与浏览器设置的地区相适应的格式返回日期和时间。这大致意味着时间格式中会包含AM 或PM,但不会包含时区信息(当然,具体的格式会因浏览器而异)。而toString()方法则通常返回带有时区信息的日期和时间,其中时间一般以军用时间(即小时的范围是0 到23)表示,不同浏览器输出的字符各有差异,这个自己可以测试一下.valueOf()则返回表示日期的毫秒数.

var date1 = new Date(2007, 0, 1); //"January 1, 2007"
var date2 = new Date(2007, 1, 1); //"February 1, 2007"
alert(date1 < date2); //true
alert(date1 > date2); //false
日期格式化方法

toDateString()——以特定于实现的格式显示星期几、月、日和年;

toTimeString()——以特定于实现的格式显示时、分、秒和时区;

toLocaleDateString()——以特定于地区的格式显示星期几、月、日和年;

toLocaleTimeString()——以特定于实现的格式显示时、分、秒;

toUTCString()——以特定于实现的格式完整的UTC 日期。

日期/时间组件方法

到目前为止,剩下还未介绍的Date 类型的方法(如下表所示),都是直接取得和设置日期值中特定部分的方法了。需要注意的是,UTC 日期指的是在没有时区偏差的情况下(将日期转换为GMT 时间)的日期值。

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

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

相关文章

  • javaScript引用类型详解

    摘要:构造函数用于创建对象的函数。例为构造函数,为新对象提供默认属性与方法。方法一可以省略方法二数组字面量与对象一样,字面量不会调用构造函数。类型基本类型引用类型建议永不要使用对象类型方法按照指定方法返回数值的字符串表示。 概念 : 引用类型是一种数据结构,用于将数据和功能组织在一起,也就是 类;对象为特殊的引用类型实例。新对象由new后加一个构造函数创建的。构造函数:用于创建对象的函数。例...

    Nekron 评论0 收藏0
  • javascript日期类型(Date)与php日期类型详解

    摘要:注意客户端与服务器日期进行传输的时候一般都是用大整数时间戳进行传输。 前言 一个网站的开发需要要UI、前端、后端三种工程师。现在的企业在招聘前端工程师的时候一般都要求其了解或者掌握一些后端的知识。因此,此文章主要介绍javascript的日期类型,也粗略的介绍一下php的日期类型,以及二者是如何交互数据的。 时间戳 什么是时间戳 时间戳是从格林威治时间1970年1月1日(00:0...

    chemzqm 评论0 收藏0
  • javascript日期类型(Date)与php日期类型详解

    摘要:注意客户端与服务器日期进行传输的时候一般都是用大整数时间戳进行传输。 前言 一个网站的开发需要要UI、前端、后端三种工程师。现在的企业在招聘前端工程师的时候一般都要求其了解或者掌握一些后端的知识。因此,此文章主要介绍javascript的日期类型,也粗略的介绍一下php的日期类型,以及二者是如何交互数据的。 时间戳 什么是时间戳 时间戳是从格林威治时间1970年1月1日(00:0...

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

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

    Apollo 评论0 收藏0
  • java日期详解

    摘要:日期表示类型获取类型的日期格式获取制定格式的日期把制定格式的日期转为或者毫秒值说明并不能精确到的级别它取决于运行的系统你再精确的范围都有差异对于有高精度时间的要求不能使用这个日期计算最方便的方式是将时间转为毫秒值进行计算线程休眠 日期表示类型 获取long类型的日期格式 long time = System.currentTimeMillis(); System.out.print...

    suemi 评论0 收藏0

发表评论

0条评论

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