JavaScript中的时间日期函数new Date()(JS中5种获取时间戳的函数)

简介:JavaScript 中的 new Date() 方法用于创建一个新的 Date 对象,该对象表示当前日期和时间。Date 对象提供了许多方法和属性,可以用于获取和设置日期和时间信息。

new Date([year, month, day, hour, minute, second, millisecond])

其中,每个参数都是可选的。如果没有指定参数,则 new Date() 方法将创建一个表示当前日期和时间的 Date 对象。
 

一、关于new Date()函数;

    首先创建一个表示当前时间的 Date 对象var nowTime = new Date();console.log(nowTime);控制台输出 Fri Nov 17 2023 10:41:58 GMT+0800 (中国标准时间)//获取 Date 当前时间 年月日时分秒console.log(nowTime.toLocaleString());//控制台输出 2023/11/17 10:41:58//获取 Date 当前时间 年月日console.log(nowTime.toLocaleDateString());//控制台输出 2023/11/17//获取 Date 当前时间 时分秒console.log(nowTime.toLocaleTimeString());//控制台输出 10:41:58//获取 Date 对象的年份console.log(nowTime.getFullYear());//控制台输出 2023//获取 Date 对象的月份(注意月份从0开始,所以使用时需要加1)console.log(nowTime.getMonth());//控制台输出 11//获取 Date 对象的日期console.log(nowTime.getDate());//控制台输出 17//获取 Date 对象的小时console.log(nowTime.getHours());//控制台输出 10//获取 Date 对象的分钟console.log(nowTime.getMinutes());//控制台输出 41//获取 Date 对象的秒console.log(nowTime.getSeconds());//控制台输出 58//获取 Date 对象的毫秒console.log(nowTime.getMilliseconds());//控制台输出 917

二、获取 Date 对象时间戳的五种方式;

    1、new Date().getTime()方法const timestamp1 = new Date().getTime();console.log(timestamp1);//控制台输出 17001890600452、Date.now()方法const timestamp2 = Date.now();console.log(timestamp2);//控制台输出 17001890600453、Date.parse(new Date())方法const timestamp3 = Date.parse(new Date());console.log(timestamp3);//控制台输出 17001890600454、new Date()).valueOf()方法const timestamp4 = new Date().valueOf();console.log(timestamp4);//控制台输出 17001890600455、Number(new Date())方法const timestamp5 = Number(new Date());console.log(timestamp5);//控制台输出 1700189060045

三、Date 对象应用实例

 实例1:计算月份差

有时候,我们需要知道两个日期之间相差多少天。
可以先将日期转换为毫秒数,然后相减并除以一天的毫秒数(1000 * 60 * 60 * 24)来得到结果。function daysBetween(date1, date2) {let oneDay = 1000 * 60 * 60 * 24;return Math.round((date2 - date1) / oneDay);
}let start = new Date('June 20, 2022');
let end = new Date('July 20, 2022');console.log(daysBetween(start, end)); // 输出 "30"

实例2:计算两个日期之间的时间差

const startDate = new Date('2021-01-01');
const endDate = new Date('2021-12-31');const timeDiff = endDate - startDate;// 计算两个日期之间的天数
const daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24));// 计算两个日期之间的小时数
const hoursDiff = Math.floor(timeDiff / (1000 * 60 * 60));// 计算两个日期之间的分钟数
const minutesDiff = Math.floor(timeDiff / (1000 * 60));// 计算两个日期之间的秒数
const secondsDiff = Math.floor(timeDiff / 1000);、、与实例1大同小异、、、、

实例3:设置特定日期和时间:

const date = new Date();// 设置日期为 2022 年 1 月 1 日
date.setFullYear(2022);
date.setMonth(0);
date.setDate(1);// 设置时间为 0 时 0 分 0 秒
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);// 获取设置后的日期和时间
const formattedDate1 = date.toDateString();
const formattedTime2 = date.toTimeString();

实例4:获取日期元素

在很多场景下,我们需要单独获取日期的年、月、日等元素。
我们可以使用getFullYear()、getMonth()、getDate()等方法来实现这一点。let now = new Date();
let year = now.getFullYear(); // 获取四位数年份
let month = now.getMonth(); // 注意月份是从0开始计数的,所以需要加1
let day = now.getDate();console.log(`${year}/${month + 1}/${day}`); // 输出类似 "2022/6/20"

实例5:格式化日期

为了美观或适应用户偏好,我们通常需要将日期格式化成特定的字符串。
这里我们使用模板字面量和padStart()方法来实现:function formatDate(date) {let year = date.getFullYear();let month = `0${date.getMonth() + 1}`.slice(-2);let day = `0${date.getDate()}`.slice(-2);return `${year}-${month}-${day}`;
}let today = new Date();
console.log(formatDate(today)); // 输出类似 "2022-06-20"

创作不易,感觉有用,就一键三连,感谢(●'◡'●)

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

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

相关文章

重生奇迹mu武器镶嵌顺序

一、武器的镶嵌顺序: 雷冰火30%概率出现技能11 从上到下的镶嵌顺寻按照雷、冰、火镶嵌,就有30%的概率出现技能攻击力加11的幸运荧光属性。 从上到下的镶嵌顺寻按照火、冰、雷镶嵌,就有30%的概率出现攻击力加11的幸运荧光属性。 例如&…

【图像拼接(Image Stitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新)

文章目录 前言专栏简介适用人群使用方法阅读顺序潜在的创新方向【图像拼接论文精读】专栏文章目录 前言 为什么会有这篇文章? 因为专栏简介里写不下太多东西,只能通过这篇文章和大家交流,算是一个专栏阅读指南吧。 说点心里话 本来吧&…

Hi-Net:用于多模态MR图像合成的混合融合网络

Hi-Net: Hybrid-Fusion Network for Multi-Modal MR Image Synthesis Hi-Net:用于多模态MR图像合成的混合融合网络背景贡献实验方法the modality-specific network(模态特定网络)multi-modal fusion networkmulti-modal synthesis network 损…

TQ2440开发板-LED全亮全灭控制程序设计

目录 什么是GPIOS3C2440的GPIO访问和控制方式:3种寄存器 TQ2440的LED灯底板原理图---LED测试部分核心板原理图----GPIO部分 LED控制---设计思想整体代码 && 代码研读配置GPIO端口为输出模式控制LED的全亮和全灭 真就是从零学起。 什么是GPIO GPIO&#xff…

Vue3+ElementPlus,image动态更新src

我想通过点击图片动态更新src&#xff0c;代码如下&#xff1a; <el-image style"width: 100px; height: 30px" :src"ImageUrl" click"refresh" :fit"fit" /> const ImageUrl reactive(http://localhost:9001/getImage)const…

20个Python源码项目下载

20个很不错的Python项目源码&#xff0c;其中包括适合毕业设计的项目。这些资源中涵盖了Django 3版本的项目&#xff1a; DjangoMysqlBulma实现的商场管理系统源码 PythonDjango实现基于人脸识别的门禁管理系统 PythonFlaskMySQL实现的学生培养计划管理系统 Python大熊猫主题人…

使用yolov7进行多图像视频识别

1.yolov7你可以让你简单的部署,比起前几代来说特别简单 #下面是我转换老友记的测试视频,可以看到几乎可以准确预测 2.步骤 1.在github官网下载代码 https://github.com/WongKinYiu/yolov7 2.点击下载权重文件放到项目中 3.安装依赖,我的python版本是3.6的 pip install -r requ…

Java8 之 Optional 详解

目录 一. 前言 二. Optional 用法 2.1. 概要 2.2. 创建 Optional 对象 2.3. 获取 Optional 对象的值 2.4. 检查 Optional 对象是否为空 2.5. 安全访问 Optional 对象的值 2.6. 处理过滤操作 2.7. 处理转换操作 2.8. 使用默认值 三. Optional 使用场景 3.1. 空判断 …

RPC与HTTP的详细比较

RPC 示例&#xff08;使用 gRPC&#xff09; 在这个例子中&#xff0c;我们使用 gRPC&#xff08;一个流行的 RPC 框架&#xff09;来演示 RPC 的基本用法。我们创建一个简单的计算器服务&#xff0c;客户端可以调用服务器上的加法操作。 服务定义 - Calculator.proto&#x…

深度解析 Dockerfile:构建可重复、可扩展的Docker镜像

文章目录 什么是Dockerfile&#xff1f;Dockerfile的基本结构常用Dockerfile指令解析1. FROM2. LABEL3. WORKDIR4. COPY5. RUN6. EXPOSE7. ENV8. CMD 构建可重复、可扩展的Docker镜像1. 指定基础镜像的版本2. 合理使用缓存3. 精简镜像4. 使用多阶段构建 总结 &#x1f388;个人…

提升网页交互体验的秘密武器——防抖和节流

说在前面 在现代Web开发中&#xff0c;提高网页性能是至关重要的。本文介绍了防抖和节流这两种常用的性能优化技术&#xff0c;通过控制函数的执行频率&#xff0c;有效减少不必要的计算和网络请求&#xff0c;从而提升用户体验和页面加载速度。 函数节流 节流是指限制一个函数…

【分享】centos7vim异常

问题描述: 虚拟机安装centos7&#xff0c;安装vim后异常&#xff0c;上下左右键会变成abcd,退格键无法删除。 系统版本: CentOS Linux release 7.5.1804 (Core) 原因: 暂时未知&#xff0c;有可能是vim安装时&#xff0c;一个组件未安装导致。后续追溯 解决方案: echo &quo…

nginx之rewrite

rewrite rewrite 作用是地址重定向&#xff0c;语法&#xff1a;rewrite regex replacement[flag]; 根据 regex&#xff08;正则表达式&#xff09;匹配请求地址&#xff0c;然后跳转到 replacement&#xff0c;结尾是flag标记 如下例子&#xff0c;请求地址是 http://192.168.…

异常 Exception 练习题 (未完成)

异常 Exception 练习题 try-catch异常处理1234 异常1&#xff08;没有自己写&#xff09;234 try-catch异常处理 1 class Exception01 {public static int method() {try {String[] names new String[3];//String[]数组if (names[1].equals("tom")) {//NullPointe…

血的教训---入侵redis并免密登录redis所在服务器漏洞复现

血的教训—入侵redis并免密登录redis所在服务器漏洞复现 今天就跟着我一起来入侵redis并免密登录redis所在服务器吧&#xff0c;废话不多说&#xff0c;我们直接开始吧。 这是一个体系的学习步骤&#xff0c;当然如果基础扎实的话可以继续往下面看 以下都是关联的文章&#xff…

Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)

Unity3D 导出的apk进行混淆加固、保护与优化原理&#xff08;防止反编译&#xff09; 目录 前言&#xff1a; 准备资料&#xff1a; 正文&#xff1a; 1&#xff1a;打包一个带有签名的apk 2&#xff1a;对包进行反编译 3&#xff1a;使用ipaguard来对程序进行加固 前言&…

C++ 学习之匿名名字空间的使用细节

匿名命名空间&#xff08;anonymous namespace&#xff09;是C中的一种特殊命名空间&#xff0c;它没有显式的名称。匿名命名空间可以用来定义仅在当前文件中可见的全局变量、函数和类。 由于没有名字&#xff0c;所以相当于直接引入&#xff0c;但是没有引入定义 如果发生冲…

小程序如何刷新当前页面?

在小程序中&#xff0c;刷新当前页面通常有两种方法&#xff1a; 使用 wx.navigateBack 方法&#xff1a; wx.navigateBack({delta: 1 }) 这将返回上一页&#xff0c;并刷新页面。你可以通过调整 delta 参数来控制返回的页面数。例如&#xff0c;如果你想要返回到两页之前的页…

Echarts 柱状图添加标记 最大值 最小值 平均值

标记 最大值 最小值 series: [//图表配置项 如大小&#xff0c;图表类型{name: 图例,type: bar,//图表类型data: [{value: 500,time: 2012-11-12},{value: 454,time: 2020-5-17},{value: 544,time: 2022-1-22},{value: 877,time: 2013-1-30}, {value: 877,time: 2012-11-12}] …

AS 之 gradle 命令

文章目录 1、命令大全2、编译命令2.1 检查依赖并编译打包2.2 编译并打 Debug 包2.3 编译打出 Debug 包并安装2.4 编译并打出 Release 包2.5 编译打出 Release 包并安装2.6 Debug/Release 编译并打印日志 3、清除命令4、卸载命令4.1 卸载 Debug/Release 安装包4.2 adb 卸载 5、调…