ES Date类型详解

一、Date类型简介

Date类型是Javascript中的内置对象,用于处理日期和时间相关的数据。

在JavaScript中,Date类型的实例是从1970年1月1日00:00:00以来的毫秒数。可以使用以下任何一种方式创建一个Date对象:

//不带参数的构造函数,创建当前系统的时间
const date1 = new Date();
//传递一个代表指定日期的字符串作为参数,注意字符串必须符合GMT格式
const date2 = new Date("January 1 2019");
//传递一个代表指定日期的时间戳作为参数
const date3 = new Date(1589565564318);

二、Date类型方法

1. 获取年份、月份、日期、小时、分钟、秒数等

可以使用以下方法获取Date对象的具体时间信息:

  • getFullYear() 返回一个表示年份的四位数字
  • getMonth() 返回0~11表示月份
  • getDate() 返回1~31表示每月的日期数
  • getHours() 返回0~23表示小时数
  • getMinutes() 返回0~59表示分钟数
  • getSeconds() 返回0~59表示秒数
  • getMilliseconds() 返回0~999表示毫秒数
const date = new Date();
console.log(date.getFullYear()); // 返回当前年份
console.log(date.getMonth()); // 返回当前月份
console.log(date.getDate()); // 返回当前日期
console.log(date.getHours()); // 返回当前小时
console.log(date.getMinutes()); // 返回当前分钟
console.log(date.getSeconds()); // 返回当前秒数
console.log(date.getMilliseconds()); // 返回当前毫秒数

2. 时间的比较

可以使用以下方法比较两个时间的先后顺序:

  • getTime() 返回一个代表日期的时间戳,该时间戳表示从1970年1月1日00:00:00以来的毫秒数。
  • valueOf() 返回一个代表日期的时间戳,可以直接进行数字比较。
  • getTimezoneOffset() 返回当前时区与UTC的时间差,单位为分钟。
const date1 = new Date("January 1 2020");
const date2 = new Date("January 1 2021");
if (date1.getTime() < date2.getTime()) {
  console.log("date1在date2之前");
}
if (date1.valueOf() < date2.valueOf()) {
  console.log("date1在date2之前");
}
console.log(date1.getTimezoneOffset()); // 返回当前时区与UTC的时间差,单位为分钟

3. 时间的格式化

可以使用以下方法将Date对象格式化为字符串:

  • toDateString() 将日期部分转换为字符串,格式为”Month day year”
  • toLocaleString() 将完整的日期和时间转换为本地字符串表示,格式由浏览器厂商决定
  • toLocaleDateString() 将日期转换为本地字符串表示,格式由浏览器厂商决定
  • toLocaleTimeString() 将时间转换为本地字符串表示,格式由浏览器厂商决定
  • toString() 将完整的日期和时间转换为字符串表示,格式由浏览器厂商决定
  • toTimeString() 将时间部分转换为字符串,格式为”hours:minutes:seconds”
  • toUTCString() 将完整的日期和时间转换为UTC时间表示,格式为”Fri, 12 Feb 2021 13:01:37 GMT”
const date = new Date("2021-02-14T10:20:30Z");
console.log(date.toDateString()); // 返回"Sun Feb 14 2021"
console.log(date.toLocaleString()); // 返回"2021/2/14 上午6:20:30"
console.log(date.toLocaleDateString()); // 返回"2021/2/14"
console.log(date.toLocaleTimeString()); // 返回"上午10:20:30"
console.log(date.toString()); // 返回"Sun Feb 14 2021 18:20:30 GMT+0800 (中国标准时间)"
console.log(date.toTimeString()); // 返回"10:20:30 GMT+0800 (中国标准时间)"
console.log(date.toUTCString()); // 返回"Sun, 14 Feb 2021 02:20:30 GMT"

三、ES6新增的Date类型方法

1. 时间的比较

可以使用ES6新增的方法比较两个时间的先后顺序:

  • Date.parse() 将一个日期字符串解析为时间戳,返回毫秒数。
  • Date.now() 返回当前时间的时间戳,精度为毫秒。
const date1 = Date.parse("2021-01-01");
const date2 = Date.parse("2022-01-01");
if (date1 < date2) {
  console.log("date1在date2之前");
}
console.log(Date.now()); // 返回当前时间的时间戳,精度为毫秒

2. 时间的转换

可以使用ES6新增的方法将时间单位进行转换:

  • getTime() 返回一个代表日期的时间戳,该时间戳表示从1970年1月1日00:00:00以来的毫秒数。
  • valueOf() 返回一个代表日期的时间戳,可以直接进行数字比较。
  • getTimezoneOffset() 返回当前时区与UTC的时间差,单位为分钟。
const minutes = 60 * 1000;
const hours = 60 * minutes;
const days = 24 * hours;
console.log(minutes + "毫秒是一分钟");
console.log(hours + "毫秒是一小时");
console.log(days + "毫秒是一天");

四、总结

Date类型是处理JavaScript日期和时间的非常重要的内置对象,提供了多种方法用于获取或者格式化日期和时间,同时也可以比较不同日期之间的先后顺序。

原创文章,作者:QDCK,如若转载,请注明出处:https://www.506064.com/n/145368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
QDCKQDCK
上一篇 2024-10-27 23:49
下一篇 2024-10-27 23:49

相关推荐

  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • Python基本数字类型

    本文将介绍Python中基本数字类型,包括整型、布尔型、浮点型、复数型,并提供相应的代码示例以便读者更好的理解。 一、整型 整型即整数类型,Python中的整型没有大小限制,所以可…

    编程 2025-04-29
  • Python中的Bool类型判断

    本篇文章旨在讲解Python中的Bool类型判断。在Python中,Bool类型是经常使用的一种类型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    编程 2025-04-29
  • Python函数类型有哪些

    本文将从以下几个方面详细阐述Python函数类型。 一、内置函数 Python的内置函数是指在Python编程语言中提供的可以直接使用的函数,不需要通过导入模块等方式引入。 部分常…

    编程 2025-04-29
  • Python变量类型用法介绍

    Python是一种解释型编程语言,它提供了丰富的数据类型,包括数字、字符串、列表、元组、集合、字典等。Python变量类型的定义是Python程序开发的基础,本文将从以下几个方面对…

    编程 2025-04-28
  • Python中的整数类型int类总览

    本文将从多个方面,对Python中的整数类型int类进行全面介绍和阐述。 一、数据类型及基本操作 在Python中,整数类型的数据类型为int。在Python3.x中,整数类型的范…

    编程 2025-04-28
  • Spark集成ES开发

    本文将介绍如何使用Spark集成ES进行数据开发和分析。 一、系统概述 Spark是一个基于内存的分布式计算系统,可以快速地处理大量数据。而ES(ElasticSearch)则是一…

    编程 2025-04-28
  • Python查询变量类型的函数

    本文将从多个方面详细阐述Python中查询变量类型的函数,主要包括以下几点: 一、type()函数 type()函数是Python内置的函数,用于查询变量的类型。它的使用非常简单,…

    编程 2025-04-28
  • 为什么Python函数定义中没有对参数指定类型?

    Python是一种强类型语言,也就是说语言本身会强制要求变量的类型。但是在Python函数定义中,却没有要求对参数指定类型。这是为什么呢? 一、简化函数定义 Python语言简单明…

    编程 2025-04-28

发表回复

登录后才能评论