当前位置: 首页 > news >正文

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"

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

相关文章:

  • SELinux refpolicy详解(5)
  • 无人机助力电力设备螺母缺销智能检测识别,python基于YOLOv5开发构建电力设备螺母缺销小目标检测识别系统
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • uniapp uni-popup组件在微信小程序中滚动穿透问题
  • python获取网络时间,0延时
  • 使用Xshell启动远程服务器上的tensorboard:本地浏览器打开
  • uniapp在H5端实现PDF和视频的上传、预览、下载
  • 国家开放大学 平时作业 测试题 训练
  • visual Studio MFC 平台实现图像增强中Gray-level slicing,Bit-plane slicing,对比度拉伸三种方法
  • ECShop 4.x collection_listSQL注入
  • 软考2016年上半年第六题(适配器模式)与手术训练系统项目适配器模式的应用
  • Google Analytics(谷歌分析)是什么以及如何使用
  • 血的教训------入侵redis之利用python来破解redis密码
  • 使用 NRF24L01 无线收发模块进行远程控制
  • 时间序列预测实战(二十)自研注意力机制Attention-LSTM进行多元预测(结果可视化,自研结构)
  • 10个确保微服务与容器安全的最佳实践
  • CSS 专业技巧
  • CSS实用技巧
  • Date型的使用
  • ES6语法详解(一)
  • Git同步原始仓库到Fork仓库中
  • java8 Stream Pipelines 浅析
  • js对象的深浅拷贝
  • mongo索引构建
  • NSTimer学习笔记
  • PAT A1017 优先队列
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Terraform入门 - 1. 安装Terraform
  • Terraform入门 - 3. 变更基础设施
  • Vim 折腾记
  • 代理模式
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 记一次删除Git记录中的大文件的过程
  • 排序(1):冒泡排序
  • 如何利用MongoDB打造TOP榜小程序
  • 王永庆:技术创新改变教育未来
  • 微信小程序实战练习(仿五洲到家微信版)
  • 用jquery写贪吃蛇
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #NOIP 2014# day.1 T2 联合权值
  • #图像处理
  • $forceUpdate()函数
  • (9)STL算法之逆转旋转
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)ssm高校实验室 毕业设计 800008
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (十六)Flask之蓝图
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)h264中avc和flv数据的解析
  • (转载)CentOS查看系统信息|CentOS查看命令