JavaScript基础——Date日期对象常见的用法

news2025/1/24 4:56:16

Date日期对象

查看Date日期对象的数据类型

创建Date日期对象的实例

获取Date日期对象的属性

设置Date日期对象的属性 

日期和时间的比较

获取时间戳

 比较时间戳


Date日期对象

        JavaScript中的Date类型,提供了一种处理日期和时间的方法,用于创建表示日期时间引用数据类型对象

查看Date日期对象的数据类型

        通过console.log我们可以在控制台查看Date的类型是function。

        console.log(typeof Date);

创建Date日期对象的实例

        Date是一个内置的构造函数,属于引用数据类型,使用new Date()可以创建一个包含当前日期和时间的实例,或者通过传递具体的年、月、日、小时、分钟、秒和毫秒作为参数来创建特定时间的日期对象。

        比如创建两个Date的实例对象,分别为当前的时间和传递参数(2019, 11, 31)的时间,表示2019年11月31日。

    <script>
        let d1 = new (Date);
        console.log(d1);
        let d2 = new Date(2019, 11, 31);
        console.log(d2);
    </script>

        在控制台可以查看输出的时间,分别对应了当前的时间和2019年11月31日。

获取Date日期对象的属性

        Date对象提供了多种方法来获取日期的各个部分(年、月、星期、日、小时、分钟、秒和毫秒、时间戳等),利用get方法可以获取不同的部分,需要注意的是,在JavaScript中月份是从0开始计算的,所以获取某个月份需要"+1",方法如下:

方法作用

获取日期和时间

直接打印创建的实例对象

获取年份

实例对象.getFullYear()

获取月份实例对象.getMonth()+1

获取日期

实例对象.getDate()

获取小时

实例对象.getHours()

获取分钟

实例对象.getMinutes()

获取秒数

实例对象.getSeconds()

获取毫秒数

实例对象.getMilliseconds()

获取星期几

实例对象.getDay()
获取时间戳

实例对象.getTime()

        在创建了当前Date的实例对象的基础上,我们获取当前日期的各个部分,包括年、月、星期、日、小时、分钟、秒和毫秒、时间戳。

    <script>
        let d1 = new (Date);
        // 获取当前日期和时间
        console.log(d1);
        // 获取当前年份
        console.log(d1.getFullYear());
        // 获取当前月份
        console.log(d1.getMonth() + 1);
        // 获取当前日期
        console.log(d1.getDate());
        // 获取当前小时
        console.log(d1.getHours());
        // 获取当前分钟
        console.log(d1.getMinutes());
        // 获取当前秒数
        console.log(d1.getSeconds());
        // 获取当前毫秒数
        console.log(d1.getMilliseconds());
        // 获取当前星期几
        console.log(d1.getDay());
        // 获取当前时间戳
        console.log(d1.getTime());
    </script>

         在控制台可以看见对应的输出,需要注意的是,这个时间是当前的时间,我当前的时间是2024年8月4号的10:22分,随着时间的不同,结果是不同的。

设置Date日期对象的属性 

        与获取对应,Date对象还提供了多种方法来设置日期的各个部分(年、月、星期、日、小时、分钟、秒和毫秒、时间戳等),利用set方法可以设置不同的部分,注意需要传入要设置的参数,方法如下:

方法作用

设置年份

实例对象.setFullYear(year)

设置月份实例对象.setMonth(month)

设置日期

实例对象.setDate(date)

设置小时

实例对象.setHours(hours)

设置分钟

实例对象.setMinutes(minutes)

设置秒数

实例对象.setSeconds(seconds)

设置毫秒数

实例对象.setMilliseconds(ms)
设置时间戳

实例对象.setTime(time)

         我们设置实例对象日期的各个部分,包括年、月、星期、日、小时、分钟、秒和毫秒、时间戳。

    <script>
        let d1 = new (Date);
        // 设置年份
        d1.setFullYear(2024);
        // 设置月份
        d1.setMonth(1);
        // 设置月份中的日期
        d1.setDate(1);
        // 设置小时
        d1.setHours(18);
        // 设置分钟
        d1.setMinutes(32);
        // 设置秒
        d1.setSeconds(23);
        // 设置毫秒
        d1.setMilliseconds(233);
        console.log(d1);
        // 设置自1970年1月1日以来的毫秒数
        d1.setTime(1233244);
        console.log(d1);
    </script>

        我们可以看见控制台输出了设置的日期的结果。

日期和时间的比较

        在JavaScript中,日期和时间的比较通常通过比较两个 Date 对象的“时间戳”来实现。时间戳是一个自1970年1月1日00:00:00 UTC起的毫秒数,使用时间戳进行日期和时间的比较,实际上是将各个时间点映射到一个统一的度量标准上,即自1970年1月1日以来经过的毫秒数。这种方法相当于在时间的连续流中设定了一个共同的起点,所有的时间点都以这个起点为参照,通过计算它们各自距离这个起点的“距离”(即时间戳)来进行比较。这样,时间的先后顺序就可以通过简单的数值比较来确定,使得日期和时间的比较变得直观而准确。

        首先利用getTime()方法从实例对象中获取时间戳,然后比较实例对象的时间戳。例如,创建两个Date的实例对象date1和date2,分别代表不同的日期和时间,然后通过比较它们的时间戳time1和time2,我们可以确定它们的先后顺序:如果time1大于time2,则date1确定是在date2之后;如果time1小于time2,则date1确定是在date2之前;如果两者相等,则两个日期和时间确定是相同的。

获取时间戳

        创建两个实例对象d1和d2,分别获取两个实例对象对应的时间戳。

    <script>
        // 1. 创建日期对象
        let d1 = new Date();
        let d2 = new Date(2019, 10, 10, 10, 10, 10, 10);
        // 2. 获取时间戳
        console.log(d1.getTime());
        console.log(d2.getTime());
    </script>

 比较时间戳

         比较两个时间戳,并输出结果,可以发现当前的时间戳大于2019年的时间戳。

        // 3. 比较时间戳
        if (d1.getTime() > d2.getTime()) {
            console.log('d1 大于 d2');
        } else {
            console.log('d1 小于 d2');
        }

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

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

相关文章

OD C卷 - 多线段数据压缩

多段 线 数据压缩 &#xff08;200&#xff09; 如图中每个方格为一个像素&#xff08;i&#xff0c;j&#xff09;&#xff0c;线的走向只能水平、垂直、倾斜45度&#xff1b;图中线段表示为(2, 8)、&#xff08;3,7&#xff09;、&#xff08;3, 6&#xff09;、&#xff08…

tcp westwood 比 reno,cubic 好在哪

今天说说 tcp 韦斯特伍德&#xff0c;和昨天 dctcp 的路子一样&#xff0c;主要还是一个观点&#xff0c;信息带来性能收益。 reno&#xff0c;cubic 仅做孤立 aimd&#xff0c;没有将 rtt 用到极致&#xff0c;信息相当于浪费掉了&#xff0c;而 westwood 却充分利用 ack 和 …

Python数值计算(21)——非扭结点三次样条曲线

前面介绍到紧固和自然三次样条曲线&#xff0c;这次介绍一下非扭结点三次样条曲线。所谓的非扭结点&#xff0c;是指由于最开始的两个子区间使用插值多项式相同&#xff0c;最后两个子区间所使用的插值多项式也相同&#xff0c;这就会导致在这段多项式上起不到扭结点的效果&…

E26.【C语言】练习:打印整数二进制的奇数位和偶数位

获取一个整数二进制序列中所有的偶数位和奇数位&#xff0c;分别打印出二进制序列 要会打印奇或偶序列&#xff0c;先学会打印二进制序列 下面我的这篇文章的代码稍作修改即可 E24.【C语言】练习&#xff1a;求一个整数存储在内存中的二进制中1的个数&#xff08;两种方法&a…

一键体验Detectron2框架中的所有预训练模型

Detectron2是由Facebook AI Research (FAIR)推出的基于PyTorch的模块化物体检测库&#xff0c;发布于2019年10月10日。该平台原是2018年推出的Detectron的第二代版本&#xff0c;它完全重写于maskrcnn-benchmark&#xff0c;并采用了PyTorch语言实现。与原版相比&#xff0c;De…

(五)activiti-modeler 编辑器初步优化

最终效果: 1..首先去掉顶部的logo,没什么用,还占用空间。 修改modeler.html文件,添加样式: <style type="text/css"> #main-header{display: none; } #main{padding: 0px; } </style> 2.左边组件选择区域太宽了,一般用不到那么宽。 修改editor…

Linux驱动入门实验班day03-GPIO子系统概述

3.通用框架1——最简单方式1&#xff1a;执行命令cat /sys/kernel/debug/gpio查看串口信息 gpio4对应的下列 方式2&#xff1a; 对于按键GPIO4_14:对应第四组第14个引脚 gpiochip3 ,从96开始&#xff0c; 9614110&#xff1b;

如何获取公网IP

前言 有些时候我们需要获取电脑或者服务器的公网 IP&#xff0c;例如我们访问的目标地址需要限制 IP 白名单或者限制访问来源&#xff0c;又或者我们使用了代理&#xff0c;想试试有没有生效。要获取公网 IP 无法从电脑或服务器的本地配置中获取&#xff0c;如 ipconfig&#…

利用 Angular 发挥环境的力量

一.介绍 您是否曾想过如何在不同的环境中为同一应用设置不同的颜色、标题或 API 调用&#xff1f;可以肯定的是&#xff0c;生产 API 和测试 API 是不同的&#xff0c;应谨慎使用。部署时&#xff0c;我们不会在项目的所有地方手动更改所有 API 调用。不应这样做&#xff0c;因…

基于Yolov8面部七种表情检测与识别C++模型部署

表情识别 七种表情识别是一个多学科交叉的研究领域&#xff0c;它结合了心理学、认知科学、计算机视觉和机器学习等学科的知识和技术。 基本概念 表情的定义&#xff1a;表情是人们在情绪体验时面部肌肉活动的结果&#xff0c;是人类情感交流的基本方式之一。基本表情理论&a…

matplotlib显示opencv读取的图片颜色异常,BGR转RGB的两种方式:cv2.cvtColor与img[:,:,::-1]

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

github添加ssh密钥,通过ssh方式推送代码

左手编程&#xff0c;右手年华。大家好&#xff0c;我是一点&#xff0c;关注我&#xff0c;带你走入编程的世界。 公众号&#xff1a;一点sir&#xff0c;关注领取python编程资料 很多人在使用github的时候&#xff0c;如果还是使用https的方式推送代码的话&#xff0c;可能会…

《LeetCode热题100》---<5.①普通数组篇五道>

本篇博客讲解LeetCode热题100道普通数组篇中的五道题 第一道&#xff1a;最大子数组和&#xff08;中等&#xff09; 第二道&#xff1a;合并区间&#xff08;中等&#xff09; 第一道&#xff1a;最大子数组和&#xff08;中等&#xff09; 法一&#xff1a;贪心算法 class So…

「文件加密软件精选」13个惊艳无比的软件推荐请查收!

信息安全是企业生存与发展的基石。 一次不慎的数据泄露&#xff0c;就可能给企业带来难以估量的损失。因此&#xff0c;文件加密成为了保护企业核心资产的重要手段。 某日&#xff0c;两位员工小李和小张在茶水间闲聊&#xff1a; “你知道吗&#xff1f;最近公司开始推广文…

飞浆OCR模型训练详细教程

目录 飞浆使用文档一 环境查看1.1 Python 环境1.2 版本选择1.3 飞浆测试 二 数据集的标准备2.1 PPOCRLabelv22.1.1 安装 PaddlePaddle2.1.2 安装与运行 PPOCRLabel2.1.3 数据集划分 三 PaddleOCR 的环境搭建3.1 环境搭建3.2 模型下载 四 模型训练4.1 检测模型训练4.2 识别模型训…

萱仔环境记录——git的安装流程

最近由于我有一个大模型的offer&#xff0c;由于我只在实验室的电脑上装了git&#xff0c;我准备在自己的笔记本上本地安装一个git&#xff0c;也给我的一个师弟讲解一下git安装和使用的过程&#xff0c;给我的环境安装章节添砖加瓦。 github是基于git的一个仓库托管平台。 g…

用Python实现亚马逊Amazon高性能爬虫采集销量信息

用Python实现亚马逊Amazon高性能爬虫采集销量信息 引言 亚马逊作为全球最大的电商平台&#xff0c;拥有丰富的商品种类和庞大的用户基数。因此&#xff0c;采集亚马逊的销量信息对于市场分析、竞争对手研究以及运营优化有着重要的作用。本文将详细介绍如何用Python实现高性能的…

机械学习—零基础学习日志(高数20——洛必达法则)

零基础为了学人工智能&#xff0c;真的开始复习高数 这里讲解一个历史&#xff0c;洛必达法则其实并不是洛必达想出来的&#xff0c;洛必达整理了第一本微积分的书籍&#xff0c;是真正的知识传播者。洛必达法则是洛必达从伯努利哪里买过来的&#xff0c;并结合了莱布尼兹的论…

本地部署 Llama-3-EvoVLM-JP-v2

本地部署 Llama-3-EvoVLM-JP-v2 0. 引言1. 关于 Llama-3-EvoVLM-JP-v22. 本地部署2-0. 克隆代码2-1. 安装依赖模块2-2. 创建 Web UI2-3.启动 Web UI2-4. 访问 Web UI 0. 引言 Sakana AI 提出了一种称为进化模型合并的方法&#xff0c;并使用该方法创建大规模语言模型&#xff…

数论——线性同余方程、扩欧求解线性同余方程、线性组合、原根求解

线性同余方程 线性同余方程是形如 的方程&#xff0c;其中a 、b、m 为给定的整数&#xff0c;x 是未知整数。 扩欧求解线性同余方程 void mod_slover(int a, int b, int n) {int d, x, y, x0;d extend_gcd(a, n, x, y);if (b % d ! 0)cout << "no answer";…