js Date概念详细介绍

下面为您详细讲解 "js Date概念详细介绍" 的攻略。

什么是js中的Date

在 JavaScript 中,Date 构造函数用于创建表示时间和日期的对象。js中的Date对象被广泛地应用在各种场景下,尤其是和时间相关的应用(例如网站上的日期、时间格式化显示)。

Date对象表示时间的方式的基础是自纪元(Unix 纪元,即 1970 年 1 月 1 日 00:00:00 UTC)起的毫秒数。

如何创建一个Date对象

创建 Date 对象有以下几种方法:

new Date()

当调用 Date 构造函数时,如果不传递参数,它的默认值是获取当前日期时间。例如:

let nowDate = new Date();
console.log(nowDate); //将会输出当前时间

new Date(value)

当我们传入值时,可以传入一个时间表示毫秒数(自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数)的数值。例如:

let nowTime = new Date(1631246368000);
console.log(nowTime); //将会输出 2021-09-10T02:12:48.000Z

new Date(dateString)

这个构造函数可以接受一个日期字符串。例如:

let nowTime = new Date('2021-09-10T02:12:48.000Z');
console.log(nowTime); //将会输出 2021-09-10T02:12:48.000Z

new Date(year, month, day, hours, minutes, seconds, milliseconds)

这个构造函数通过传入年、月、日、时、分、秒、毫秒的值来创建一个新的 Date 对象。例如:

let myDate = new Date(2021, 8, 10, 2, 12, 48, 0);
console.log(myDate); //将会输出 2021-09-10T02:12:48.000Z 

Date对象有哪些属性和方法

Date对象有许多可用的属性和方法,包括获取年、月、日、小时、分钟、秒、毫秒等时间信息的方法,以及获取时间戳的方法。

下面列举几个常见的操作:

获取年、月、日、小时、分钟、秒、毫秒

let nowDate = new Date();
let year = nowDate.getFullYear(); //获取年份
let month = nowDate.getMonth(); //获取月份(0-11)
let day = nowDate.getDate(); //获取日期
let hours = nowDate.getHours(); //获取小时
let minutes = nowDate.getMinutes(); //获取分钟
let seconds = nowDate.getSeconds(); //获取秒数
let milliseconds = nowDate.getMilliseconds(); //获取毫秒数

获取和设置时间戳

let nowDate = new Date();
let timestamp = nowDate.getTime(); //获取时间戳
let newDate = new Date(timestamp); //通过时间戳创建新日期对象

计算两个日期之间的相差天数

let date1 = new Date("2021-09-01");
let date2 = new Date("2021-09-10");
let timeDiff = date2.getTime() - date1.getTime();
let dayDiff = timeDiff / (1000 * 3600 * 24); //获取两个日期之间的天数 

示例说明

示例一:计算距离指定日期还有多少天

function getDaysBetween(dateStr) {
  let currentDate = new Date();
  let targetDate = new Date(dateStr);
  let timeDiff = targetDate.getTime() - currentDate.getTime();
  return Math.ceil(timeDiff / (1000 * 3600 * 24));
}
let days = getDaysBetween("2021-12-31");
console.log(`距离2021年年底还有${days}天`);

上面的代码通过输入未来的日期,来计算距离该日期还有多少天。

示例二:日期格式化

function formatDate(date) {
  let year = date.getFullYear();
  let month = date.getMonth() + 1;
  let day = date.getDate();
  let hours = date.getHours();
  let minutes = date.getMinutes();
  let seconds = date.getSeconds();
  return `${year}:${month}:${day} ${hours}:${minutes}:${seconds}`;
}
let nowDate = new Date();
let formattedDate = formatDate(nowDate);
console.log(`当前时间:${formattedDate}`);

上述代码通过 formatDate() 方法将 UTC 时间格式化为本地时间,输出当前时间以及本地时间格式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js Date概念详细介绍 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • event.srcElement+表格应用

    Sure! 什么是 event.srcElement? event.srcElement是一种废弃的DOM属性,用于获取触发事件的元素。目前更推荐使用 event.target属性来代替它。event.target返回事件发生时的元素,而event.srcElement在特定情况下返回与event.target相同的值。但是有一些情况下event.srcEl…

    JavaScript 2023年6月10日
    00
  • 正则表达式中test、exec、match的区别介绍及括号的用法

    正则表达式是用于匹配文本的强大工具,它允许您使用模式来搜索、替换和操作文本。在使用正则表达式时,test、exec、match及括号都是常用的概念,它们的用法与意义都不同。 test、exec、match的区别介绍 test方法 test方法是RegExp对象的方法之一,它的作用是测试一个字符串是否匹配某个正则表达式,返回布尔值。如果匹配成功,test方法返…

    JavaScript 2023年6月10日
    00
  • 学习JavaScript事件流和事件处理程序

    学习JavaScript事件流和事件处理程序是Web前端开发的必备技能之一。本文将详细讲解学习JavaScript事件流和事件处理程序的完整攻略。 视频教程 对于初学者来说,观看视频教程是一个很好的学习方式。以下推荐两个学习JavaScript事件流和事件处理程序的视频教程: JavaScript教程 – 事件流和事件处理程序 JavaScript事件流与事…

    JavaScript 2023年5月27日
    00
  • Vue3 跨域配置devServer的参数和设置方法

    Vue3 是一款流行的前端框架,它允许我们在开发中使用各种功能强大的功能,其中包括跨域请求。在本篇文章中,我将为您讲解如何在 Vue3 项目中配置 devServer 实现跨域请求。 什么是跨域请求? 在 Web 开发中,域指的是通过互联网来唯一标识一个网络资源的字符串。跨域请求则是指在客户端浏览器向服务器发起请求时,所请求的资源的域名与当前网页的域名不同,…

    JavaScript 2023年6月11日
    00
  • javascript 循环调用示例介绍

    下面是关于“javascript 循环调用示例介绍”的完整攻略。 什么是循环调用? JavaScript中的循环调用指的是函数自身在执行过程中调用自己的现象,称为递归(recursion),是一种常见的算法设计思想。JavaScript中的递归一般需要终止条件来结束递归,否则会导致栈溢出。循环调用常常用于解决问题的各种算法设计,如搜索、排列、图形算法等。 示…

    JavaScript 2023年6月10日
    00
  • 相关JavaScript在览器中实现可视化的四种方式

    相关JavaScript在浏览器端实现可视化有多种方式,其中最常见的四种方式是: Canvas Canvas 是 HTML5 引入的新特性,通过 JavaScript 脚本在网页中绘制图形。 Canvas 使用起来非常的灵活,可以通过设定其宽高,使用 JavaScript 代码控制绘图属性(颜色,形状等)并绘制图形。示例如下: <canvas id=&…

    JavaScript 2023年5月28日
    00
  • 用js重建星际争霸

    用JS重建星际争霸需要以下的步骤和技术: 基本准备 首先需要准备的是技术栈: HTML/CSS编写页面样式 Vue.js或React等框架来渲染视图和管理状态 WebGL(或者Three.js等封装库)来绘制3D场景 Node.js和Socket.io来实现多人游戏交互 同时需要准备游戏素材,在设计中包括以下元素: 战争迷雾和地图障碍 单位和建筑模型 动作和…

    JavaScript 2023年5月28日
    00
  • 在JavaScript中调用php程序

    当需要在JavaScript中调用php程序时,通常可以通过Ajax来实现。Ajax可以实现页面异步加载和更新,从而实现与服务器的后端交互。以下是完整攻略: 1. 发送Ajax请求 使用XMLHttpRequest对象发送Ajax请求,示例代码如下: function ajaxRequest() { var xhr = new XMLHttpRequest(…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部