ECMAScript中的Date类型是在早期Java中的java.util.Date类型基础上构建的。为此,Date类型使用自UTC(国际协调时间)1970年1月1日午夜零时开始经过的毫秒数来保存日期。可以使用new操作符和Date构造函数创建日期对象,在使用Date构造函数而不传递参数的情况下,新创建的对象自动获取当前的时间日期。如果想要根据特定的日期和时间创建日期对象,就必须传入表示该日期的毫秒数(从UTC时间1970年1月1日午夜零时起至该日期止经过的毫秒数),为了简化计算过程,ECMAScript提供了两个方法:Date.parse()和Date.UTC()。
Date.parse()
Date.parse()方法接收一个表示日期的字符串参数,然后根据这个字符串返回相应日期的毫秒数,这个方法的行为因实现而不同,通常因地区而异,将地区设置为美国的浏览器通常接收这几种日期格式:月/日/年(5/31/2018);英文月名 日,年(May 31,2018);英文星期几 英文月名 日 年 时:分:秒 时区(Thursday May 31 2018 19:50:00 GMT-0700);YYYY-MM-DDTHH:mm:ss:sssZ(2018-05-31T00:00:00)(需要兼容ECMAScript5)。
Date.UTC()
Date.UTC()方法也是接收参数后返回表示日期的毫秒数,该方法接收的参数分别是年份、基于0的月份(一月是0,12月是11)、月中的哪一天(1到31)、小时数(0到23)、分钟、秒以及毫秒数,其中年和月是必须的,如果没有天数,则默认为当月第一天,如果没有其他参数,则全部为0处理。
Date()
Date构造函数也可以同Date.UTC()方法一样接收参数并返回日期的毫秒数,但是日期和时间都是基于系统设置的本地时区创建的。
继承方法
Date类型的toLocaleString()方法会按照与浏览器设置的地区相适应的格式返回日期和时间。
toString()方法则通常返回带有时区信息的日期和时间,其中时间一般是军用时间(小时范围是0~23)。
toTimeString() 方法可把 Date 对象的时间部分转换为字符串。
toDateString() 方法可把 Date 对象的日期部分转换为字符串。
toUTCString() 方法可根据世界时 (UTC) 把 Date 对象转换为字符串。
toLocaleTimeString() 方法可根据本地时间把 Date 对象的时间部分转换为字符串。
toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串。
时间戳
时间戳是一个自增的整数,它表示从1970年1月1日零时整的GMT时区开始的那一刻,到现在的毫秒数。假设浏览器所在电脑的时间是准确的,那么世界上无论哪个时区的电脑,它们此刻产生的时间戳数字都是一样的,所以,时间戳可以精确地表示一个时刻,并且与时区无关。我们可以使用Date.now()方法获取当前的时间戳,但是很多老版的浏览器不支持Date.now()方法,此时我们尅使用+操作符把Date对象转换成字符串,也可以达到同样的效果,或者使用下面的方法:
原文地址:https://www.cnblogs.com/yuyujuan/p/9123215.html