JavaScript中的Date类型是在早期Java中的Date类基础上构建的。因此Date类型使用从1970年1月1日零时开始经过的毫秒数来保存日期。要创建一个日期对象,使用new关键字和Date构造函数即可:
创建Date对象实例
调用Date构造函数不传递参数,新创建的对象自动获得当前日期和时间。如果想根据指定日期和时间创建日期对象,就需要传递该日期的毫秒数。为了简化这一过程,JavaScript中提供了两个方法,Date.parse()和Date.UTC()。Date.parse()接收一个表示日期的字符串,然后根据这个字符串返回相应日期的毫秒数。
使用Date.parse()构建日期对象
Date.UTC()方法同样返回表示日期的毫秒数,不同的是,接收的参数不样。Date.UTC()的参数分别是年份、基于0的月份(1月是0,。。。)、月中的日期(1~31)、小时(0~23)、分钟、秒以及毫秒。其中,年和月是必填参数。
使用Date.UTC()构建日期对象
另外,Date构造函数也会模仿Date.UTC(),但有一点明显不同的,日期和时间都是基于本地时区而非GMT来创建。不过,Date构造函数接收的参数仍与Date.UTC()相同。
使用Date构造函数传参构建日期对象
此外,JavaScript中添加了Date.now()方法,返回表示调用这个方法时的日期和时间的毫秒数。对于不支持的它的浏览器可以使用+操作符获取Date对象的时间戳(+new Date())。
继承的方法
和其他引用类型一样,Date类型也重写了 toLocaleString()、toString()和valueOf()方法。Date类型中的toLocaleString()方法会按照浏览器设置的地区时间相应的格式返回日期和时间。而toString()方法则通常返回带有时区信息的日期和时间。至于Date类型的valueOf()方法,则根本不返回字符串,而是返回日期的毫秒数,因此可以是使用该方法来比较日期的大小。
日期格式化方法
Date 类型还有一些专门用于将日期格式化为字符串的方法:
toDateString()——以特定于实现的格式显示星期几、月、日和年
toTimeString()——以特定于实现的格式显示时、分、秒和时区
toLocaleDateString()——以特定于地区的格式显示星期几、月、日和年
toLocaleTimeString()——以特定于实现的格式显示时、分、秒
toUTCString()——以特定于实现的格式完整的UTC日期。
格式化日期方法
Date对象方法
Date对象方法一
Date对象方法二
Date对象方法三
Date对象方法四