【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.mzph.cn/news/236922.shtml

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

相关文章

重温经典struts1之自定义转换器及注册的两种方式(Servlet,PlugIn)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 Struts的ActionServlet接收用户在浏览器发送的请求,并将用户输入的数据,按照FormBean中定义的数据类型,赋值给FormBean中每个变量&a…

“2024世亚软博会”促进软件产业国际化交流与合作的重要窗口

随着科技的飞速发展,软件行业在全球范围内呈现出井喷式的增长。未来,随着软件行业开放的深入,市场机制逐渐完善,人才和政策的持续支持,软件行业将继续保持蓬勃发展态势,为全球用户提供更加优质、智能的软件…

Ansible的脚本----playbook剧本

Playbook组成部分 tasks 任务:包含要在目标主机上执行的操作,使用模块定义这些操作。每个任务都是一个模块的调用。Variables 变量:存储和传递数据。变量可以自定义,可以在playbook当中定义全局变量,可以外部传参。T…

探索未来交通!空客、宝马开启新一轮“量子计算挑战赛”

12月6日,空中客车公司和宝马集团共同发起了一项名为 “量子交通探索”的全球量子计算挑战赛,以应对航空和汽车领域最紧迫的挑战——这些挑战对于传统计算机而言仍然是难以克服的。 这项挑战是首创性的,它将两个全球行业领导者聚集在一起&…

什么是大小端?

今天说一下什么是大小端模式? 大小端模式指的是什么?通常我们在存储器当中存储数据的字节顺序,注意这里强调的是“字节的顺序”。因为在计算机系统中,不管是单片机DSP或者是X86,我们说一个地址对应的存储空间大小呢就是…

动态内存分配

为什么存在内存开辟 我们掌握的内存开辟方式有 int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟十个连续的内存空间 但是上述开辟空间的方式有两个特点:1.空间开辟大小是固定的。 2.数组在申明的时候,必须指明数…

分析某款go扫描器之四

一、概述 上文提到实现IP的探测存活以及tcp扫描的实现,这部分来分析实现本机网卡信息获取,以及维护一张mac地址表以及ip扫描端口状态表,同时实现syn扫描功能。 项目来源:https://github.com/XinRoom/go-portScan/blob/main/util…

深入了解Python中staticmethod的使用技巧

更多资料获取 📚 个人网站:ipengtao.com 在Python中,staticmethod是一种用于定义静态方法的装饰器。静态方法是类中的方法,它不依赖于类的实例,也就是说,可以在没有创建类实例的情况下调用它。在本教程中&…

如何实现免费无限流量云同步笔记软件Obsidian?

目录 前言 如何实现免费无限流量云同步笔记软件Obsidian? 一、简介 软件特色演示: 二、使用免费群晖虚拟机搭建群晖Synology Drive服务,实现局域网同步 1 安装并设置Synology Drive套件 2 局域网内同步文件测试 三、内网穿透群晖Synol…

acwing-蓝桥杯C++ AB组辅导课Day2-递归习题+递推+二分

感谢梦翔老哥的蓝桥杯C AB组辅导课~ 递归习题: 1.递归实现组合型枚举 题意: 题目要求输出组合枚举,与排列不同,排列具有顺序之分,对于组合来说,是没有顺序之分的,所以[1,2,3]和[3,2,1]被看成同…

istio 认证:对等身份认证+服务请求认证

istio 中有两种不同的身份认证方式: 基于 mTLS 的对等身份认证 PeerAuthentication基于 JWT(JSON Web Token)令牌的服务请求认证 RequestAuthentication 对等身份认证 PeerAuthentication 概念 提供服务到服务的认证服务网格的主要场景就…

C# SixLabors.ImageSharp.Drawing的多种用途

生成验证码 /// <summary> /// 生成二维码 /// </summary> /// <param name"webRootPath">wwwroot目录</param> /// <param name"verifyCode">验证码</param> /// <param name"width">图片宽度</…

【06】GeoScene海图或者电子航道图数据自动化质检

1 S-58错误管理器验证产品 在你编辑数据时进行快速的质量检查可以使用S-58错误管理器&#xff0c;S-58错误管理器工具允许您使用IHO S-58验证标准来验证海事数据库中的产品。你可以验证整个产品&#xff0c;或验证产品的当前范围。 1.1验证产品 使用S-58错误管理器工具完成以…

轻松实现 Linux 搭建 KMS 服务器,想做什么就做什么(附所有资料)

轻松实现 Linux 搭建 KMS 服务器,想做什么就做什么(附所有资料)。 支持产品: 下载 vlmcsd 下载文件并解压,把 binaries\Linux\intel\static\ 下的 vlmcsd-x64-musl-static 上传至 VPS/usr/bin/ 目录下,并改名为 vlmcsd。 给予执行权限 chmod +x /usr/bin/vlmcsd开启KM…

微信开发工具修改编译一直报Cannot read property ‘call‘ of undefined?

我个人的解决方法 更新HbuilderX和微信小程序开发者工具到最新版&#xff0c;微信开发者工具-设置-本地设置-调试基础库也换成最新的3.2.4&#xff0c;打开又报错&#xff0c; 把manifest.json文件内的 “mp-weixin” : {“libVersion”: “latest”}配置上就好了 如果不能解…

Axure基础

软件&#xff1a; 简单交互动效 动态面板 显示和隐藏 表单元件 表格设计 内联框架 导航菜单 元件交互样式 滚动屏幕与弹幕

java 4.数组

文章目录 4.数组4.1数组的概念4.2 数组的定义4.3 数组的初始化4.4 数组下标的有效范围与常见异常4.5 数组内存分析4.6 二维数组4.6.1 创建二维数组4.6.2 二维数组的赋值4.6.3 多维数组4.6.4 通过二维数组输出不同版式的古诗 4.7 不规则数组4.8 数组的基本操作4.8.1 数组遍历4.8…

数据结构和算法-平衡二叉树(定义 插入 删除 时间复杂度)

文章目录 平衡二叉树总览平衡二叉树的定义平衡二叉树的插入调整最小不平衡子树在A的左孩子的左子树中插入导致不平衡在A的右孩子的右子树中插入导致不平衡上述两种的代码思路在A的左孩子的右子树中插入导致不平衡在A的右孩子的左子树中插入导致不平衡 填个坑练习查找效率分析小…

锁相放大器(LIA)基本原理

本文介绍锁相放大器(LIA)基本原理。 锁相放大器(LIA)&#xff0c;英文名称&#xff1a;Lock-In Amplifier&#xff0c;在微弱信号检测领域使用非常广泛&#xff0c;比如科研电生理信号测量&#xff0c;传感器信号测量等。本文从理论上分析锁相放大器(LIA)基本原理。 1.基本概…

vivado生成时钟分析

生成的时钟 本节讨论生成的时钟&#xff0c;包括&#xff1a; •关于生成的时钟 •用户定义的生成时钟 •自动衍生时钟 •自动衍生时钟 关于生成的时钟 生成的时钟在设计内部由称为时钟修改块&#xff08;用于例如MMCM&#xff09;&#xff0c;或者通过一些用户逻辑。生…