【Date对象】js中的日期类型Date对象的使用详情

在这里插入图片描述

😁 作者简介:一名大四的学生,致力学习前端开发技术
⭐️个人主页:夜宵饽饽的主页
❔ 系列专栏:JavaScript小贴士
👐学习格言:成功不是终点,失败也并非末日,最重要的是继续前进的勇气

​🔥​前言:

本文是关于js中的Date对象的使用详情和注意点,时间的处理是需要严谨和小心的,环境不一样,可能是会导致时间出现偏差,这是我自己的知识小碎片,希望可以帮助到大家,欢迎大家的补充和纠正

关于日期类型Date

概念:创建一个JavaScriptDate实例,该实例呈现时间中的某一个时刻,Date对象则基于Unix Time Stamp,即自1970年1月1日(UTC)起经过的 毫秒数

语法:

new Date()
new Date(value)
new Date(dataString)
//方括号中的参数表示可选的,例如:date,hours,minutes,seconds,milliseconds
new Date(year,monyhIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]])

创建一个新的Date对象的时候,一定要使用new Date()的构造函数形式创建,假如使用Date()这种常规函数形式创建是,将返回一个字符串,而不是一个Date对象

参数: Date() 构造函数有四种形式的参数

  1. 没有参数

    如果没有提供参数,那么新创建的Date对象标识实例化时刻的日期和时间

  2. Unix时间戳

    1. value

      一个Unix时间戳,它是一个整数值,表示从1970年1月1日 00:00:00起经过的秒数,Unix时间戳通常以毫秒(是13位的整数)或者秒(是10位的整数)为单位的

    2. 时间戳字符串dateString

      表示日期的字符串值,但是该字符串要能符合两种规则(即符合 IETF-compliant RFC 2822 timestamps 或 ISO8601 的版本)

      1. IETF-compliant RFC 2822 timestamps: 该格式类似于以下示例:

        /** GMT表示格林威治标准时间,因为其与世界时(UTC)差异非常小,所以通常作为世界是(UTC)的替代术语使用 **/
        Mon, 25 Dec 1995 13:30:00 GMT
        

        这是一种常见的日期字符串格式,通常用于HTTP头部中的日期表示。

      2. ISO8601: ISO8601 是一种国际标准的日期和时间表示法,其基本格式为:

        2023-12-19T15:30:00Z
        

        或者,包含时区信息的扩展格式:

        makefileCopy code
        2023-12-19T15:30:00+03:00
        

        在这个格式中,T分隔日期和时间,Z表示UTC时间,+03:00 表示相对于UTC的时区偏移。

        由于浏览器之间的差异与不一致性,强烈不推荐使用Date构造函数来解析日期字符串 (或使用与其等价的Date.parse)。对 RFC 2822 格式的日期仅有约定俗成的支持。对 ISO 8601 格式的支持中,仅有日期的串 (例如 “1970-01-01”) 会被处理为 UTC 而不是本地时间,与其他格式的串的处理不同。

    3. 分别提供日期与时间的每一个成员

      当至少提供了年份与月份时,这一形式的 Date() 返回的 Date 对象中的每一个成员都来自下列参数。没有提供的成员将使用最小可能值(对日期为1,其他为0)。

      • year

        ​ 表示年份的整数值。0 到 99 会被映射至 1900 年至 1999 年,其他值代表实际年份。参见 示例。

      • monthIndex

        ​ 表示月份的整数值,从 0(1 月)到 11(12 月)。

      • date可选

        ​ 表示一个月中的第几天的整数值,从 1 开始。默认值为 1。

      • hours 可选

        ​ 表示一天中的小时数的整数值 (24 小时制)。默认值为 0(午夜)。

      • minutes 可选

        ​ 表示一个完整时间(如 01:10:00)中的分钟部分的整数值。默认值为 0。

      • seconds 可选

        ​ 表示一个完整时间(如 01:10:00)中的秒部分的整数值。默认值为 0。

      • milliseconds 可选

        ​ 表示一个完整时间的毫秒部分的整数值。默认值为 0。

实例:

//1. 没有参数
var datenull=new Date()
console.log(datenull); //2023-12-19T07:57:52.339Z//2. 时间戳
var unixTimestamp = 1639789200000; // 2021-12-19T12:00:00.000Z
var dateObject = new Date(unixTimestamp);
console.log(dateObject); //2021-12-18T01:00:00.000Z//3. 时间戳字符串`dateString
var dateStringRFC2822 = "Mon, 25 Dec 1995 13:30:00 GMT";
var dateStringISO8601 = "2023-12-19T15:30:00Z";var timestampRFC2822 = Date.parse(dateStringRFC2822); 
var timestampISO8601 = Date.parse(dateStringISO8601); console.log(timestampRFC2822); //819898200000
console.log(timestampISO8601); //1702999800000//4. 时间日期成员
var datefour=new Date(2021,11,19)
console.log(datefour); //2021-12-18T16:00:00.000Z

方法:

当我们有了合格的Date对象时就可以使用其内置的方法啦。以下我列出常见的几种

  1. getDate(): 获取月份中的某一天,返回值为1到31之间的一个整数。

    codevar currentDate = new Date();
    var dayOfMonth = currentDate.getDate();
    
  2. getMonth(): 获取月份,返回值为0到11之间的一个整数。需要注意,月份是从0开始计数的,0表示一月,11表示十二月。

    codevar currentDate = new Date();
    var month = currentDate.getMonth();
    
  3. getFullYear(): 获取四位数的年份。

    codevar currentDate = new Date();
    var year = currentDate.getFullYear();
    
  4. getHours(): 获取小时,返回值为0到23之间的一个整数。

    codevar currentDate = new Date();
    var hours = currentDate.getHours();
    
  5. getMinutes(): 获取分钟,返回值为0到59之间的一个整数。

    codevar currentDate = new Date();
    var minutes = currentDate.getMinutes();
    
  6. getSeconds(): 获取秒数,返回值为0到59之间的一个整数。

    codevar currentDate = new Date();
    var seconds = currentDate.getSeconds();
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/291884.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring Security】打造安全无忧的Web应用--进阶篇

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Spring Security的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.导入相关配置 1.pom 2.ym…

Python: 函数参数是值传递还是引用传递

是引用传递。 Python的设计哲学是一切皆对象,不仅体现在内置数据类型、数据结构是对象,还包括Python编译运行需要的一些设施,比如stackframe、traceback等等。所以,为了更方便的传递数据,cpython内部全部采用指针传递…

Hadoop 集群环境搭建

目录 第一部分:系统安装... 3 1:图形化安装... 3 2:选择中文... 3 3:安装选项... 3 4:软件选项... 4 5:安装位置... 4 6:网络配置... 6 7:开始安装... 7 8:创建用户... 7…

【动态规划】09路径问题_最小路径和_C++(medium)

题目链接:leetcode最小路径和 目录 题目解析: 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析: 题目让我们求从左上角到右下角的路径,使得路径上的数字总和为最小 由题可得&#x…

CUMT--Java复习--泛型与集合

目录 一、泛型 1、概述 2、通配符 3、有界类型 二、集合 1、概述 2、迭代器接口 三、集合类 1、Collection接口 2、List接口 3、Set接口 4、Queue接口 5、Map接口 四、集合转换 五、集合工具类 一、泛型 1、概述 从JDK5.0开始,Java引入泛型类型&…

【51单片机系列】C51中的中断系统扩展实验

本文是关于51单片机中断系统的扩展实验。 文章目录 一、 扩展实验一:使用外部中断0控制蜂鸣器,外部中断1控制直流电机二、扩展实验二:修改定时器初值,设定3秒钟的定时时间让LED模块闪烁三、扩展实验三:使用定时器1和数…

在RT-Thread中使用SystemView进行调试分析

一、SystemView SystemView is a toolkit for visual analysis of any embedded system. SystemView gives complete insight into an application, to gain a deep understanding of the runtime behavior, going far beyond what a debugger is offering. This is particula…

redis基本用法学习(C#调用NRedisStack操作redis)

redis官网文档中推荐C#中使用NRedisStack包连接并操作redis,本文学习C#调用NRedisStack操作redis的基本方式。   新建Winform项目,在Nuget包管理器中搜索并安装NRedisStack包,如下图所示: 主要调用StackExchange.Redis命名空间下…

STM32微控制器在热电偶传感器应用中的性能评估

热电偶传感器是一种常用的温度测量技术,广泛应用于工业和自动化领域。在本文中,我们将探讨STM32微控制器在热电偶传感器应用中的性能评估。我们将涵盖STM32的特性、热电偶传感器的原理、硬件连接、软件编程以及性能评估的方法和指标。 STM32微控制器的特…

如何在Portainer部署一个web站点到Nginx容器并结合内网穿透远程访问

文章目录 前言1. 安装Portainer1.1 访问Portainer Web界面 2. 使用Portainer创建Nginx容器3. 将Web静态站点实现公网访问4. 配置Web站点公网访问地址4.1公网访问Web站点 5. 固定Web静态站点公网地址6. 固定公网地址访问Web静态站点 前言 Portainer是一个开源的Docker轻量级可视…

Spring Boot集成RocketMQ之消息对象序列化

以下源码基于rocketmq-spring-boot-start 2.1.1版本,其它版本可能会有差异 一. 前言 当我们在Spring Boot项目中集成RocketMQ后,只需要在配置文件(application.yml)中添加rocketmq的相关配置,即可使用rocketMQTemplate发送对象消息。登录Ro…

[Spring 原理] 依赖查找

在Spring框架中,依赖注入是一项非常重要的功能,它能够帮助我们解决对象之间的依赖关系。而其中的doResolveDependency方法是Spring框架中执行依赖注入的核心方法之一。本篇博客将对doResolveDependency方法进行详细介绍,帮助读者更好地理解和…