JS中Date的常用方法

简介: 内置对象DateDate对象在实际开发中,也使用得非常频繁,它是一个内置对象,用于表示日期和时间。Date是用来处理日期和时间的对象,但是与Math对象不同的是:Date是一个构造函数,需要实例化之后才能使用。

内置对象Date

Date对象在实际开发中,也使用得非常频繁,它是一个内置对象,用于表示日期和时间。

Date是用来处理日期和时间的对象,但是与Math对象不同的是:Date是一个构造函数,需要实例化之后才能使用。

接下来第一步:创建Date对象

创建Date对象

创建Date对象有两种方法:

  • 创建时不传参数:
    在不传递参数的情况下,最后创建的结果是返回系统当前的时间对象
    var date = new Date(); console.log(date); // Wed Sep 28 2022 18:06:49 GMT+0800 (中国标准时间) console.log(typeof date); // object
  • 创建时传递参数:
    传递参数时表示创建指定时间的对象,参数可以是字符串,也可以是数字,还可以是时间戳。我们按照传递参数的类型来分别讲解。
  1. 参数为字符串
    var date = new Date("2022-09-28 18:06:49"); var date = new Date("2022/09/28 18:06:49"); var date = new Date("2022-09-28T18:06:49"); var date = new Date("2022/09/28T18:06:49"); var date = new Date("2022-09-28"); var date = new Date("2022/09/28"); var date = new Date("2022-09-28T00:00:00"); var date = new Date("2022/09/28T00:00:00");

通过上面的代码,我们可以看到在将时间字符串作为参数传入的时候,我们要遵循的格式就是:年月日  具体时间,其中年月日之间使用-或者/连接,具体时间使用:连接;年月日和具体时间的连接可以使用空格隔开或者T隔开。

  1. 参数为多个数字
    var date = new Date(x,y,z,a,b,c,d);
  • x:表示年份,必须传递,否则会报错
  • y: 表示月份,从0开始,0表示1月,1表示2月,以此类推,如果不传递,默认为0
  • z: 表示日期,如果不传递,默认为1
  • a: 表示小时,如果不传递,默认为0
  • b: 表示分钟,如果不传递,默认为0
  • c: 表示秒,如果不传递,默认为0
  • d: 表示毫秒,如果不传递,默认为0

多个参数之间我们使用逗号间隔,如果不传递的参数,会使用默认值(年份除外,年份必须传参)。

  1. 参数为时间戳
    var date = new Date(时间戳);

日期的格式化

在实际开发中,我们经常需要将日期格式化,比如:将日期格式化为:2022-09-28 18:06:49,这个时候我们就需要使用到Date对象的format方法。

或者我们需要获取日期的指定部分,这个时候就需要用到Date对象自带的方法了。

Date对象自带的方法

方法名 含义 备注
getFullYear() 获取年份
getMonth() 获取月:0-11 0代表一月
getDate() 获取日:1-31
getDay() 获取星期:0-6 0代表周日;1代表周一
getHours() 获取小时:0-23
getMinutes() 获取分钟:0-59
getSeconds() 获取秒:0-59
getMilliseconds() 获取毫秒 1s = 1000ms

获取时间戳

什么是时间戳呢?

时间戳就是从格林威治标准时间的1970年1月1日,0时0分0秒到当前日期所花费的毫秒数(1秒 = 1000毫秒)。

那为什么需要时间戳呢?

这是因为在计算机中,时间是以数字的形式存储的,而不是以字符串的形式存储的,所以我们需要将时间转换为数字,这个数字就是时间戳。

而时间戳的存在就是为了统一时间的单位。

如何获取时间戳呢?

下面集中常见的方法:

  • +new Date():获取当前时间的时间戳
    value = +new Date();
  • Date对象的getTime方法
    var date = new Date();
  • Date对象的valueOf方法
    var date = new Date();

这三种方法都可以获取当前时间的时间戳。使用频率从上往下一次递减。


相关文章
|
8天前
|
缓存 监控 前端开发
JavaScript 实现大文件上传的方法
【10月更文挑战第17天】通过以上步骤和方法,我们可以实现较为可靠和高效的大文件上传功能。当然,具体的实现方式还需要根据实际的应用场景和服务器要求进行调整和优化。
|
21小时前
|
JavaScript 前端开发 Go
异步加载 JS 的方法
【10月更文挑战第24天】异步加载 JavaScript 是提高网页性能和用户体验的重要手段。通过使用不同的方法和技术,可以实现灵活、高效的异步加载 JavaScript。在实际应用中,需要根据具体情况选择合适的方法,并注意处理可能出现的问题,以确保网页能够正常加载和执行。
|
12天前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
13天前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
30 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
13天前
|
存储 JavaScript 前端开发
JavaScript数组去重的八种方法详解及性能对比
在JavaScript开发中,数组去重是一个常见的操作。本文详细介绍了八种实现数组去重的方法,从基础的双重循环和 indexOf() 方法,到较为高级的 Set 和 Map 实现。同时,分析了每种方法的原理和适用场景,并指出了使用 Set 和 Map 是目前最优的解决方案。通过本文,读者可以深入理解每种方法的优缺点,并选择最合适的数组去重方式。
26 0
|
13天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
85 0
|
13天前
|
JavaScript
深入解析:JS与Vue中事件委托(事件代理)的高效实现方法
深入解析:JS与Vue中事件委托(事件代理)的高效实现方法
19 0
|
13天前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
10 0
|
14天前
|
存储 JavaScript 前端开发
Vue.js项目中全面解析定义全局变量的常用方法与技巧
Vue.js项目中全面解析定义全局变量的常用方法与技巧
24 0
|
14天前
|
分布式计算 JavaScript 前端开发
JavaScript:轻松创建二维数组的多种方法
本文探讨了如何使用 JavaScript 生成二维数组的多种方法,揭示了这些方法在编程中的灵活应用。文章首先通过介绍如何创建一维数组,为理解二维数组的生成奠定基础。接着,分析了几种常见的生成二维数组的方法,包括使用嵌套循环、Array.from()、Array.fill() 以及 展开运算符 和 map() 等技巧。每种方法都有其优缺点,开发者可以根据场景选择最合适的方案。
21 0