专业编程基础技术教程

网站首页 > 基础教程 正文

JavaScript学习笔记(十四)

ccvgpt 2024-11-19 02:11:44 基础教程 6 ℃

上一篇文章我们学习了Number内置对象和Math内置对象,在JS中还有很多内置的对象和方法,接下来我们一起来学习一下经常用到的一些内置方法。有的可以直接通过内置类直接调用,有的则需要通过实例调用


JavaScript学习笔记(十四)

一、Date类相关

Date在JS中是一个关于处理时间的类,我们可以通过Date类获取到当前的时间、当前的时间戳、不同时区的时间等等

1、Date实例

Date实例在不传参的情况下,会返回当前时间(字符串,时区和你的电脑时区一致)

Date类接受两种参数,一种接受3个Number类型的参数分别代表年、月、日

所以,这种传参方法的月份是从0开始的,月份是0就代表是1月

另外一种接受一个"yyyy-MM-dd hh:mm:ss"格式的字符串,表示年-月-日 时:分:秒的格式

2、Date的实例方法

我们看到了可以通过Date()实例获得当前时间,如果只想获取当前的年份或者月份等,可以通过Date类相关的实例方法获得


注意:

1、上面的方法均是实例方法,需要创建Date实例才能调用,不能直接通过Date调用

2、获取当前日期的方法是getDate,而非getDay

3、getMonth方法是从0开始的,也就是说getMonth返回的应该是当前月份-1,例如图中的getMonth返回的就是3,而非4

4、getDay方法返回当前是周几,从星期一开始返回,返回值从1开始

3、获取当前时间戳

时间戳是基于1970年1月1日(世界标准时间)起的毫秒数,目前用的较多的时间戳有两种,一种是精确到毫秒的时间戳(13位数),一种是精确到秒的时间戳(10位数),在原生的JS中无法获直接取精确到秒的时间戳,只能获取精确到毫秒的时间戳(如果需要精确到秒,可以通过一些第三方库,或者结合其他方法获得)

JS可以通过Date的静态方法(可以直接通过类名调用,不能通过实例调用)的now方法获取到当前的13位时间戳

注意

1、now是Date类的静态方法,直接通过Date类调用,不可以通过Date相关实例调用

2、返回的是一个13位的Number类型数据,表示到目前为止,距离1970年1月1日过去的毫秒数

3、返回的时间戳会根据你当前电脑的时区而发生改变(这一点在项目部署上线时要特别注意,很可能项目部署环境的时区和你开发用的电脑的时区不一样)

使用时间戳的好处是可以很轻松的计算出两个日期相距了多久,所以涉及到时间计算的问题时,通常会使用时间戳的形式来表示时间

4、获取指定日期的时间戳

结合前面学的知识,我们可以先通过new Date(指定时间)来生成具体的指定的时间,再通过valueOf方法获取到对应的时间戳

因为我电脑的时区是北京时间,所以北京时间1970年1月1日0时0分0秒是世界标准时间的1969年12月31日16时0分0秒,而时间戳是从世界标准时间的1970年1月1日0时0分0秒开始的,所以我们想获取到0时间戳,应该将日期改为1970年1月1日8时0分0秒

注意

1、千万注意好时区问题

2、valueOf方法是实例方法,需要通过Date实例才能调用

3、返回的时间戳是Number类型

Tags:

最近发表
标签列表