iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Javascript中如何使用Date对象
  • 611
分享到

Javascript中如何使用Date对象

2024-04-02 19:04:59 611人浏览 安东尼
摘要

javascript中如何使用Date对象,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、Date对象是什么Date 对象用于处理日期和时间

javascript中如何使用Date对象,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、Date对象是什么

Date 对象用于处理日期和时间,一个日期格式化的对象,

创建一个Date对象可以直接使用new Date(),

括号里可以传入一个时间的格式,就像这样

 new Date("month,dd,yyyy hh:mm:ss");

 new Date("yyyy,month,dd hh:mm:ss");

 new Date("month,dd,yyyy");

 new Date(yyyy,month,dd,hh,mm,ss);

 new Date(yyyy,month,dd);

 new Date(ms);

在这里,我们按F12打开控制台(找到Console),然后输入:console.log(new Date()) 它会返回一个当前的时间,如下图所示:

二、Date对象里的常用方法

在这里可以先let date = new Date(),然后就可以开始调用Date对象中的方法了,这些步骤都可以按F12打开控制台进行调试

date.getFullYear()

从 Date 对象以四位数字返回年份

date.getMonth()

从 Date 对象返回月份 (0 ~ 11)

(在这先说明一下,获取当前月份一定要在这个基础上+1,不然月份就会少一个月)

date.getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)

date.getDate() 

从 Date 对象返回一个月中的某一天 (1 ~ 31)

date.getHours()

返回 Date 对象的小时 (0 ~ 23)

date.getMinutes()

返回 Date 对象的分钟 (0 ~ 59)

date.getSeconds()

返回 Date 对象的秒数 (0 ~ 59)

date.getMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)

date.getTime()

返回 1970 年 1 月 1 日至今的毫秒数

有了以上的知识,然后我们就可以开始写一个获取当前时间的函数了

三、获取当前时间的函数

  function currentTime() {

    let date = new Date();

    //获取年份

    let year = date.getFullYear();

    //获取月份

    let getMonth = date.getMonth() + 1;

    let month = getMonth < 10 ? "0" + getMonth : getMonth;

    //获取当前日期号

    let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

    //获取小时

    let hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();

    //获取分钟

    let minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();

    //获取秒数

    let second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();

    //最后返回一个当前的时间格式

    return `${year}-${month}-${day} ${hour}:${minute}:${second}`

  }

记得在date.getMonth()的基础上加回1得到准确的月份,在获取月份,日期,小时,分钟,秒数的时候要做下判断,如果它们在0到9之间,要在前面拼接一个0,不然时间格式就会像这样:2020/5/19 12:37:5,它并不好看。最后return的模板字面量是es6的语法,也可以换成字符串拼接的格式,然后我们就直接调用这个函数console.log(currentTime()),便可获得这样的一个时间2020-05-19 12:37:05,当然,里面的时间格式你们可以自行修改,比如2020/05/19 12:37:05,看你自己个人喜好。

然后我们开始进入正题????

四、开始封装一个日期倒计时的函数

//fORMat传入一个结束日期的时间

function endTime(format) {

    let date = new Date();

    //获取当前时间的毫秒数

    let now = date.getTime();

    //结束日期

    let endDate = new Date(format);

    //获取结束日期的毫秒数

    let end = endDate.getTime();

   

    let leftTime = (end - now) / 1000;

    //如果剩余时间大于0,开始做判断

    if (leftTime >= 0) {

      //Math.floor(向下取整)

     

      let day = Math.floor(leftTime / 60 / 60 / 24);

     

      let hour = Math.floor(leftTime / 60 / 60 % 24);

      let minute = Math.floor(leftTime / 60 % 60);

      let second = Math.floor(leftTime % 60);

      //最后输出的时间格式按喜好转换

      return `${day}天${hour}小时${minute}分${second}秒`;

    } else {

      //时间过了

      alert('时间已过')

    }

  }

至此,你理解了如何封装这两个函数了吗?

五、进行测试Demo

然后,我们就开始写一个demo到网页中,来测试一下我们的成果,此段代码可直接复制到你们的编译器去食用

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width">

  <title>倒计时demo</title>

  <style>

    body {

     

      background-size: 100% 100%;

      background-attachment: fixed;

      min-width: 960px;

    }

    .container {

      margin-top: 20px;

      margin-left: 150px;

    }

  </style>

</head>

<body>

  <div>

    <div>

      <h2></h2>

    </div>

    <h3></h3>

    <h3></h3>

  </div>

</body>

<script>

  let format = "2020-09-01 00:00:00 "

  let title = '距离:' + format + '还有'

  document.querySelector('.title').innerHTML = title

  setInterval(() => {

    document.querySelector('.currentTime').innerHTML = '当前时间:' + currentTime();

    document.querySelector('.endTime').innerHTML = endTime(format);

  });

  function currentTime() {

    let date = new Date();

    let year = date.getFullYear();

    let getMonth = date.getMonth() + 1;

    let month = getMonth < 10 ? "0" + getMonth : getMonth;

    let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

    let hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();

    let minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();

    let second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();

    return `${year}-${month}-${day} ${hour}:${minute}:${second}`

  }

  console.log(currentTime())

  function endTime(format) {

    let date = new Date();

    let now = date.getTime();

    let endDate = new Date(format);

    let end = endDate.getTime();

    let leftTime = (end - now) / 1000;

    if (leftTime >= 0) {

      let day = Math.floor(leftTime / 60 / 60 / 24);

      let hour = Math.floor(leftTime / 60 / 60 % 24);

      let minute = Math.floor(leftTime / 60 % 60);

      let second = Math.floor(leftTime % 60);

      return `${day}天${hour}小时${minute}分${second}秒`;

    } else {

      alert('时间已过')

    }

  }

</script>

</html>

六、介绍时间类库

一个很好用的JavaScript 日期处理类库Moment.js,可以用来处理各种时间样式,附上使用方式

有了这个类库之后就如虎添翼了,让你处理时间更加的简单快捷方便

附上文档地址Http://momentjs.cn/

具体使用方式可参考文档

安装:

npm install moment --save

yarn add moment

浏览器安装:

<script src="moment.js"></script>

<script>

    moment().format();

</script>

看完上述内容,你们掌握Javascript中如何使用Date对象的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: Javascript中如何使用Date对象

本文链接: https://www.lsjlt.com/news/57214.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么查询当前用户所有的表
    要查询当前用户拥有的所有表,可以使用以下 sql 命令:select * from user_tables; 如何查询当前用户拥有的所有表 要查询当前用户拥有的所有表,可以使...
    99+
    2024-05-14
    oracle
  • oracle怎么备份表中数据
    oracle 表数据备份的方法包括:导出数据 (exp):将表数据导出到外部文件。导入数据 (imp):将导出文件中的数据导入表中。用户管理的备份 (umr):允许用户控制备份和恢复过程...
    99+
    2024-05-14
    oracle
  • oracle怎么做到数据实时备份
    oracle 实时备份通过持续保持数据库和事务日志的副本来实现数据保护,提供快速恢复。实现机制主要包括归档重做日志和 asm 卷管理系统。它最小化数据丢失、加快恢复时间、消除手动备份任务...
    99+
    2024-05-14
    oracle 数据丢失
  • oracle怎么查询所有的表空间
    要查询 oracle 中的所有表空间,可以使用 sql 语句 "select tablespace_name from dba_tablespaces",其中 dba_tabl...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限设置
    答案:要创建 oracle 新用户,请执行以下步骤:以具有 create user 权限的用户身份登录;在 sql*plus 窗口中输入 create user identified ...
    99+
    2024-05-14
    oracle
  • oracle怎么建立新用户
    在 oracle 数据库中创建用户的方法:使用 sql*plus 连接数据库;使用 create user 语法创建新用户;根据用户需要授予权限;注销并重新登录以使更改生效。 如何在 ...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限密码
    本教程详细介绍了如何使用 oracle 创建一个新用户并授予其权限:创建新用户并设置密码。授予对特定表的读写权限。授予创建序列的权限。根据需要授予其他权限。 如何使用 Oracle 创...
    99+
    2024-05-14
    oracle
  • oracle怎么查询时间段内的数据记录表
    在 oracle 数据库中查询指定时间段内的数据记录表,可以使用 between 操作符,用于比较日期或时间的范围。语法:select * from table_name wh...
    99+
    2024-05-14
    oracle
  • oracle怎么查看表的分区
    问题:如何查看 oracle 表的分区?步骤:查询数据字典视图 all_tab_partitions,指定表名。结果显示分区名称、上边界值和下边界值。 如何查看 Oracle 表的分区...
    99+
    2024-05-14
    oracle
  • oracle怎么导入dump文件
    要导入 dump 文件,请先停止 oracle 服务,然后使用 impdp 命令。步骤包括:停止 oracle 数据库服务。导航到 oracle 数据泵工具目录。使用 impdp 命令导...
    99+
    2024-05-14
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作