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

18 js时间对象

时间对象是一种复杂数据类型,用来存储时间

创建时间对象

内置构造函数创建

        语法:var 时间名=new Date()

        var date=new Date()console.log(date)   //Wed May 29 2024 16:03:47 GMT+0800 (中国标准时间)

创建指定日期

        当参数为数字——>在格林威治的时间基础上增加

                多个数字一次表示年月日时分秒

        当参数为字符串——>设置指定日期

        //格林威治时间 Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)//1.一个参数  在格林威治时间的基础上加 1000=1svar date1=new Date(1000)console.log(date1)      //Thu Jan 01 1970 08:00:01 GMT+0800 (中国标准时间)//2.多个参数 依次表示年月日时分秒  在格林威治时间的基础上加var date2=new Date(1,2,3)console.log(date2)      //Sun Mar 03 1901 00:00:00 GMT+0800 (中国标准时间)//3.当参数为字符串,则是设置具体日期var date3=new Date('2001-12-12 10:10:10')console.log(date3)  //Wed Dec 12 2001 10:10:10 GMT+0800 (中国标准时间)var date4=new Date('2001/12/12 10:10:10')console.log(date4)  //Wed Dec 12 2001 10:10:10 GMT+0800 (中国标准时间)var date5=new Date('2001/12/12 10:10:10','2002/12/12 10:10:10')console.log(date5)  //Invalid Date  无效日期

事件对象方法

        var date=new Date('2024/12/2 10:10:10')//获取年份console.log(date.getFullYear()) //2024//获取月份 月是从0开始到11结束  0-11——>1-12console.log(date.getMonth())    //返回数字11  // 获取日期console.log(date.getDate())     //2// 获取时间console.log(date.getHours())    //10// 获取分钟console.log(date.getMinutes())  //10// 获取秒console.log(date.getSeconds())  //10// 获取毫秒console.log(date.getMilliseconds()) //0// 获取星期几   返回数字0-6分别对应星期日-星期六console.log(date.getDay())          //1// 获取时间戳——现在距离格林威治时间的毫秒数console.log(date.getTime()) //1733105410000

练习题

练习题1:获取当前时间编写一个函数,返回当前的日期和时间字符串,格式为:YYYY-MM-DD-MM-DD HH:mm:ss。

function getCurrentDateTime() {var now = new Date();var year = now.getFullYear();var month = ("0" + (now.getMonth() + 1)).slice(-2);//slice从倒数第2位开始截取var day = ("0" + now.getDate()).slice(-2);var hours = ("0" + now.getHours()).slice(-2);var minutes = ("0" + now.getMinutes()).slice(-2);var seconds = ("0" + now.getSeconds()).slice(-2);return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
}console.log(getCurrentDateTime());

练习题2:编写一个函数,输入任意年月日,输出该年份的日期是星期几(例如:0代表周日,1代表周一,以此类推)。

      function fn(argDay) {var day = new Date(argDay);return day.getDay();}console.log(fn("2020/12/2"));        //3console.log(fn("2023/01/12"));       //4console.log(fn("2024/5/27"));        //1

练习题3:倒计时创建一个倒计时器函数,接受一个未来的时间(年-月-日 时:分:秒),并实时显示距离该时间还有多久(以小时、分钟、秒显示)。

      function fn(d1) {var day1 = new Date();console.log(day1);var day2 = new Date(d1);//两者相差毫秒数var timer = Math.abs(day1.getTime() - day2.getTime()) / 1000;console.log(timer);//1小时=60分钟=3600秒  =3600 000毫秒var h = parseInt(timer / 3600);var m = parseInt((timer - h * 3600) / 60);var s = parseInt(timer - h * 3600 - m * 60);return h + ":" + m + ":" + s;}console.log(fn("2024/5/31 20:25:20"));

练习题4:日期比较编写一个函数,比较两个日期字符串(格式YYYY-MM-DD),返回哪一个日期更早。

function compareDates(dateStr1, dateStr2) {var date1 = new Date(dateStr1);var date2 = new Date(dateStr2);return date1.getTime() < date2.getTime() ? dateStr1 : dateStr2;
}console.log(compareDates("2023-01-01", "2023-12-31")); 

练习题5:月份天数编写一个函数,给定一个年份和月份,返回该月份的天数(考虑闰年)。

      var date = new Date(2024, 2, 0);    //将日期设置为0即可console.log(date.getDate());    //29
http://www.lryc.cn/news/358143.html

相关文章:

  • 安卓赤拳配音v1.0.2Ai配音神器+百位主播音色
  • 前端面试题日常练-day40 【面试题】
  • UG NX二次开发(C#)-UFun函数-利用UFPart.Export导出模型中的对象并创建一个新的part
  • SFOS2:组件介绍
  • 交换机的三层交换技术
  • 探秘URL的奥义:JavaScript中轻松获取页面参数值的N种姿势【含代码示例】
  • VSCode小技巧,忽略不想格式化的代码行
  • 揭秘网络编程:同步与异步IO模型的实战演练
  • 在Visual Studio Code和Visual Studio 2022下配置Clang-Format,格式化成Google C++ Style
  • 民国漫画杂志《时代漫画》第32期.PDF
  • RTKLIB学习--前向滤波
  • 利用C++与Python调用千帆免费大模型,构建个性化AI对话系统
  • VTK9.2.0+QT5.14.0绘制三维显示背景
  • Vue.js2+Cesium1.103.0 十六、多模型轨迹运动
  • Matlab|基于PMU相量测量单元进行电力系统电压幅值和相角状态估计
  • 【C++】---二叉搜索树
  • FastAPI - 依赖注入3
  • 【网络运维的重要性】
  • YOLOv5改进 | 注意力机制 | 添加双重注意力机制 DoubleAttention【附代码/涨点能手】
  • 自用网站合集
  • 【Golang】gin框架如何在中间件中捕获响应并修改后返回
  • 电脑同时配置两个版本mysql数据库常见问题
  • Java | Leetcode Java题解之第112题路径总和
  • HaloDB 的 Oracle 兼容模式
  • 【Python】解决Python报错:TypeError: ‘xxx‘ object does not support item assignment
  • Spring-注解
  • 旧手机翻身成为办公利器——PalmDock的介绍也使用
  • 期货交易的雷区
  • 东方通TongWeb结合Spring-Boot使用
  • 6.S081的Lab学习——Lab5: xv6 lazy page allocation