【前端从0开始】JavaSript——Date对象

news2025/5/11 1:48:36

创建Date对象

var dateObj=new Date();
方法

  1. 将日期转为字符串
  toLocaleString()  
  toLocaleDateString() 
  toLocaleTimeString()
  1. 获取年、月、日、小时、分、秒
    ○1)getYear() //两位的年(2000年前)或三位的年[1900]
    获取两位数的年,从1900年开始计算,现在这个方法基本上已经没弃用
console.log(d.getYear());

○2)getFullYear() //四位的年
获取完整的四位数的年,使用的比较多

console.log(d.getFullYear());

○ 3)getMonth() //月份+1
获取月份,返回值为0-11,表示1月到12月,所以获取到月份之后需要+1

console.log(d.getMonth()+1); // 当前月+1

○4)getDate() //日
获取天,返回值为今天是几号

console.log(d.getMonth()+1); // 当前月+1

○ 5)getHours() //小时

console.log(d.getHours()); // 当前月+1

○6)getMinutes() //分钟

console.log(d.getMinutes()); // 当前分钟

○7)getSeconds() //秒

console.log(d.getMinutes()); // 当前秒钟

○ 8)getTime() //1970 年 1 月 1 日至今的毫秒数
时间戳专门用来计算时间的差值,或者倒计时等功能

var d = new Date();
// 1. 通过getTime获取
console.log(d.getTime()); // 当前秒钟
// 2. 通过valueOf获取
console.log(d.valueOf());
// 3. H5新增的获取毫秒树的方式
console.log(Date.now());
// 4. 添加+号[把日期对象转为数字类型]
console.log(+new Date());
  1. 定时器
    setInterval(函数体,时间(毫秒),参数(传递给函数的参数))
// 时间跳动案例
function getT(){
        // 获取时间
        var d = new Date();
        var year = d.getFullYear(); 
        var month = d.getMonth()+1;
        var day = d.getDate();
        var h = d.getHours();
        var m = d.getMinutes();
        var s = d.getSeconds();
        var ms = d.getMilliseconds();
        var oTime = document.getElementById('times');
        oTime.innerHTML = year+'-'+month+'-'+day+' '+h+':'+m+':'+s+' '+ms;
}
function stop(){
        // 清除某个定时器  clearInterval(定时器的名称);
        clearInterval(myTime);
}
  1. 怎么计算时间差
    使用时间戳【UNIX时间戳,timestamp】计算时间差
    2021-9-5 10:30:20 -> 1630809020000
    2020-8-9 12:30:45 -> 1596947445000
    差多少年,天,小时,分钟,秒钟
    时间戳 参照时间: 1970/1/1 0:0:0(格林威治时间)
    1970/1/1 8:0:0(北京时间)
    时间戳:d.getTime(); 单位是毫秒数

计算公式
d = parseInt(总秒数/60/60/24) // 天数
h = parseInt(总秒数/60/60%24) // 小时
m = parseInt(总秒数/60%60) // 分钟
s = parseInt(总秒数%60) // 秒

    var aTime = new Date('2021-9-5 10:30:20'); // 指定的某个时间
    var bTime = new Date('2021-8-5 8:20:10');  // 
    var cha = aTime.getTime() - bTime.getTime();
    if(cha<=0){
        console.log('时间输入有误!');
    }else{
        var miao = cha / 1000; // 秒的单位
        var s = miao % 60; // 秒

        var fen = parseInt(miao / 60); // 分钟的单位
        var m = fen%60;// 分钟

        var hour = parseInt(fen / 60); // 小时的单位
        var h = hour % 24; // 小时

        var day = parseInt(hour / 24); // 天
        var d = day % 365;

        var y = parseInt(day/365); // 年

        console.log('两个时间相差:'+y+'年,'+d+'天,'+h+'小时,'+m+'分钟,'+s+'秒钟'); 
    }

案例:苏宁易购显示抢购活动
在这里插入图片描述
5. 设置时间
a.直接设置年月日,时分秒
new Date() 获取当前时间
new Date(字符串 / 时间戳 / 值); 获取指定时间
字符串:“2021-2-3 12:23:34”
时间戳:1617589820000
值: 2012,5,6,12,30,00

var d = new Date('2009-11-12 08:20:30'); // 正常字符串时间的表示方式
var d = new Date('Jan 1 2001 05:20:10'); // 日期时间对象返回的格式
var d = new Date(2020,10,10,10,20,30); // js的时间格式
var d = new Date(1607061589000); // 时间戳

b.简单设置时间
set… [用的不多]
setMonth();
setDate();
setFullYear();
案例1:某人从2008-8-8号过起了三天打鱼两天筛网的日期,问:今天该打鱼还是筛网,明天呢?明年的今天呢?

// 2008-8-8 张三 打鱼晒网的日期 - 三天打鱼两天筛网
// 今天该打鱼还是筛网 - 获取今天日期
// 经历了多少天:new Date - 2008-8-8
var now = new Date(); // 当前
var start = new Date('2008-8-8');
var cha = now - start; // 单位 ms
var s = parseInt(cha/1000);
var m = parseInt(s/60);
var h = parseInt(m/60);
var d = parseInt(h/24);
var yu = d % 5;
if(yu<3){
  console.log('晒网');
}else{
  console.log('打鱼');
}

案例2:输入年份生成日历

<style>
  body {
    text-align: center;
  }
  
  .box {
    margin: 0 auto;
    width: 880px;
  }
  
  .title {
    background: #ccc;
  }
  
  table {
    height: 200px;
    width: 200px;
    font-size: 12px;
    text-align: center;
    float: left;
    margin: 10px;
    font-family: arial;
  }
</style>
<script>
  var year = parseInt(prompt('输入年份:', '2022')); // 制作弹窗输入年份,默认为2022年
  document.write(calendar(year));//调用函数生成指定年份的年历
  
  function calendar(year){
    var html = "<div class='box'>";
    for(var m=0;m<=11;m++){
      // 获取每月的第一天的星期
      var w = new Date(year,m).getDay();
      html += `<table><tr class="title"><td colspan='7'>${year}${m}月</td></tr>`;
      html += `<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>`;
      // 获取每月的天数
      var max = new Date(year,m,0).getDate(); 
      html += '<tr>'
      for(var d=1; d <= max; d++){
        //如果该月的第1天不是星期日,则填充空白
        if (w && d == 1) {
          html += '<td colspan ="' + w + '"> </td>';
        }
        html += '<td>' + d + '</td>';
        if (new Date(year,m,d).getDay()==6) {//如果星期六不是该月的最后一天,则换行
          html += '</tr><tr>';
        } else if (d == max) {//该月的最后一天,闭合</tr>标签
          html += '</tr>';
        }
      }
      html += '</tr>'
    }
    
    html += '</table></div>';
    return html;
  }
   </script>

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

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

相关文章

硬件知识积累 USB 接口 type - A type - B type - C 的介绍与功能说明 (简单介绍)

1. USB 的介绍 1.1 USB 的定义 USB : 通用串行总线(英语: Universal Serial Bus&#xff0c;缩写:USB)是一种串口总线标准&#xff0c;也是一种输入输出接口的技术规范&#xff0c;被广泛地应用于个人电脑和移动设备等信息通讯产品&#xff0c;并扩展至摄影器材、数字电视&a…

第四节 C++ 选择结构

文章目录 前言介绍1. if 选择结构1.1 概述1.2. 单 if 语句执行1.2.1 分号和中括号注意事项1.2.2 案例&#xff1a;判断天气 1.3. if - else 语句结构1.3.1 案例1&#xff1a;考试成绩1.3.2 案例2&#xff1a;判断闰年1.3.3 案例3&#xff1a;判断三角形 1.4. 多分支结构1.4.1 语…

VIT Swin Transformer

VIT&#xff1a;https://blog.csdn.net/qq_37541097/article/details/118242600 Swin Transform&#xff1a;https://blog.csdn.net/qq_37541097/article/details/121119988 一、VIT 模型由三个模块组成&#xff1a; Linear Projection of Flattened Patches(Embedding层) Tran…

linux服务TCP参数配置

Linux TCP参数配置 阿里云规范 1.【推荐】高并发服务器建议调小 TCP 协议的 time_wait 超时时间。 说明&#xff1a;操作系统默认 240 秒后&#xff0c;才会关闭处于 time_wait 状态的连接&#xff0c;在高并发访问下&#xff0c;服务器端会因为处于 time_wait 的连接数太多&am…

创邻科技张晨:图数据库,激活数据要素的新基建

“数据经济时代&#xff0c;数据要素产业链的各细分领域均蕴含机遇&#xff0c;图技术作为网络协同和数据智能的底层发动机&#xff0c;将深度掘金数字中国价值潜能”。 8月22日&#xff0c;在2023中国&#xff08;南京&#xff09;国际软件产品和信息服务交易博览会的信息技术…

构建 NodeJS 影院预订微服务并使用 docker 部署(04/4)

一、说明 构建一个微服务的电影网站&#xff0c;需要Docker、NodeJS、MongoDB&#xff0c;这样的案例您见过吗&#xff1f;如果对此有兴趣&#xff0c;您就继续往下看吧。 我们前几章的快速回顾 第一篇文章介绍了微服务架构模式&#xff0c;并讨论了使用微服务的优缺点。第二篇…

L1-033 出生年 测试点全过

题目 以上是新浪微博中一奇葩贴&#xff1a;“我出生于1988年&#xff0c;直到25岁才遇到4个数字都不相同的年份。”也就是说&#xff0c;直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求&#xff0c;自动填充“我出生于y年&#xff0c;直到x岁才遇到n个数字都不…

汽车制造业外发文件时 如何阻断泄密风险?

汽车制造业是我国国民经济发展的支柱产业之一&#xff0c;具有产业链长、关联度高、就业面广、消费拉动大等特性。汽车制造行业景气度与宏观经济、居民收入水平和固定资产投资密切相关。 汽车制造业产业链长&#xff0c;关联度高&#xff0c;汽车制造上游行业主要为钢铁、化工…

VScode中写Verilog时,iverilog语法自动纠错功能不起作用

VScode中编写Verilog时&#xff0c;iverilog语法自动纠错功能不起作用 问题&#xff1a;按照教程搭建vscode下Verilog编译环境&#xff0c;发现语法纠错功能一直无效&#xff0c;检查了扩展Verilog-HDL/SystemVerilog/Bluespec SystemVerilog的配置也没有任何问题。 错误原因&a…

【前端从0开始】JavaSript——Array对象

Array对象 导语&#xff1a;页面中的数据&#xff0c;都是从数据库读取出来的&#xff0c;如果返回的数据多&#xff0c;一般情况下会以数组或者对象的形式来进行返回&#xff0c;如果想要删除或者添加数据&#xff0c;就可以使用数组中的方法 如图所示&#xff0c;我们可以通…

RE:从零开始的车载Android HMI(四) - 收音机刻度尺

最近比较忙&#xff0c;研究复杂的东西需要大量集中的时间&#xff0c;但是又抽不出来&#xff0c;就写点简单的东西吧。车载应用开发中有一个几乎避不开的自定义View&#xff0c;就是收音机的刻度条。本篇文章我们来研究如何绘制一个收音机的刻度尺。 本系列文章的目的是在讲…

单核cpu是怎么处理多线程的

首先&#xff0c;要先了解几个概念&#xff1a; 1、线程是CPU调度和分配的基本单位。 2、进程是操作系统进行资源分配&#xff08;包括cpu、内存、磁盘IO等&#xff09;的最小单位 。 3、一个进程可以包括多个线程。 4、CPU的时间片是由计算机的操作系统OS里的调度器分配的. …

UGUI可视化组件TextMeshPro

一.官方的介绍 TextMeshPro 是 Unity 的最终文本解决方案。它是 Unity UI Text 和旧版 Text Mesh 的完美替代方案。 功能强大且易于使用的 TextMeshPro&#xff08;也称为 TMP&#xff09;使用高级文本渲染技巧以及一组自定义着色器&#xff1b;它大幅改进了视觉质量&#xff…

C++快速回顾(四)

前言 在Android音视频开发中&#xff0c;网上知识点过于零碎&#xff0c;自学起来难度非常大&#xff0c;不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》&#xff0c;结合我自己的工作学习经历&#xff0c;我准备写一个音视频系列blog。C/C是音视频必…

微服务引擎 MSE 全新升级,15 分钟快速体验微服务全栈能力

作者&#xff1a;草谷 前言 微服务引擎 MSE 全新发布&#xff01;新版本带来了一系列令人振奋的特性和改进&#xff0c;让您更轻松、高效地构建和管理微服务应用程序。从快速入门到迁移优化&#xff0c;MSE 为开发人员提供了全方位的支持和解决方案。无论您是刚刚接触微服务还…

二叉树中的最大路径和-递归

路径 被定义为一条从树中任意节点出发&#xff0c;沿父节点-子节点连接&#xff0c;达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root…

缓存最佳实践

目录 前言 一、Cache Aside&#xff08;旁路缓存&#xff09;策略 二、不一致解决场景及解决方案 一、数据库主从不一致 二、缓存与数据库不一致 三、问题分析 三、缓存误用 一、多服务共用缓存实例 二、调用方缓存数据 三、缓存作为服务与服务之间传递数据的媒介 四…

如何通过tomcat下载映射下载文件

1.1找到tomcat服务器中server.xml文件 !--doBase是静态资源路径位置&#xff0c; path作用相当于设置的key, doBase作用相当于value --> <Context path"/download" docBase"E:\testBackData"></Context>1.2 找到tomcat服务器中web.xml文…

Android JNI系列详解之CMake编译工具的使用

一、CMake工具的介绍 如图所示&#xff0c;CMake工具的主要作用是&#xff0c;将C/C编写的native源文件编译打包生成库文件&#xff08;包含动态库或者静态库文件&#xff09;&#xff0c;集成到Android中使用。 二、CMake编译工具的使用 使用主要是配置两个文件&#xff1a;CM…

漏洞扫描和漏洞评估

进行漏洞扫描和漏洞评估是确保系统和应用程序安全性的重要步骤。 下面是一个详细的步骤指南&#xff0c;说明如何进行漏洞扫描和漏洞评估。 步骤&#xff1a; 信息收集&#xff1a; 在开始漏洞扫描之前&#xff0c;收集有关目标系统和应用程序的信息&#xff0c;包括IP地址、…