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

创建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>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数学系硕士研究生的科研过程——PDE约束下含参优化控制问题的深度学习算法

笔者今天上午收到了之前北大课题组老板的通知&#xff0c;得知研究生期间和学长合作的论文终于被siam接收&#xff0c;终于为自己研究生涯画上了一个句号。这里打算分享一下个人的科研过程以及这篇论文的工作&#xff0c;即将读研或者打算读研的同学或许可以从中获得益处。论文…

Golang Gorm 高级查询之where + find

插入测试数据 package mainimport ("fmt""gorm.io/driver/mysql""gorm.io/gorm" )type Student struct {ID int64Name string gorm:"size:6"Age intEmail *string }func (*Student) TableName() string {return "student&q…

浅析SAS协议:链路层

文章目录 概述原语通用原语连接管理原语连接通信原语 地址帧IDENTIFY地址帧OPEN地址帧 链路复位Link ResetHard ResetSATA的Link Reset 连接管理建立连接连接仲裁 流量控制SSP流控Credit Advance SMP流控 相关参考 概述 SAS链路层用于定义原语、地址帧以及连接相关的内容&…

基金市场的冷热传递什么信号?

摘要及声明 1&#xff1a;本文主要利用实际数据进行检验&#xff0c;从定量角度分析基金发行情况与股票市场之间的关系&#xff1b; 2&#xff1a;本文主要为理念的讲解&#xff0c;模型也是笔者自建&#xff0c;文中假设与观点是基于笔者对模型及数据的一孔之见&#xff0c…

高效UI设计必备的4个UI设计软件,真的好用!

随着UI设计工作的不断发展&#xff0c;工作中的需求变得更加多样&#xff0c;一个好用的 UI 设计软件将极大减轻设计师的工作负担&#xff0c;提高设计师的工作效率&#xff0c;今天本文精选了4款好用的UI设计软件&#xff0c;并将逐一介绍的它们各自的特点和用法&#xff0c;给…

经过6年发展,NIST发布三种可以抵御量子计算机未来攻击的算法标准草案

近日&#xff0c;美国国家标准与技术研究院&#xff08;NIST&#xff09;发布了2022年选定的四种算法中的三种算法的标准草案&#xff1a;CRYSTALS–KYBER、CRYSTALS–Dilithium和SPHINCS&#xff0c;第四种算法FALCON的标准草案将在大约一年内发布。 近年关于量子计算机的研究…

前端console.log打印内容与后端请求返回数据不一致

后端传值num0 前端打印num1 ,如图&#xff0c;console.log后台显示的数据与展开后不一致 造成该问题原因是深拷贝与浅拷贝的问题。 var obj JSON.parse(JSON.stringify(res)) 修改后打印 正常

微信小程序隐私协议接入

自2023年9月15日起&#xff0c;对于涉及处理用户个人信息的小程序开发者&#xff0c;微信要求&#xff0c;仅当开发者主动向平台同步用户已阅读并同意了小程序的隐私保护指引等信息处理规则后&#xff0c;方可调用微信提供的隐私接口。 相关公告见&#xff1a;关于小程序隐私保…

Python实现T检验

今天来分享一下T检验的python实现方法。 01 先来上一波概念。 1.单样本t检验&#xff0c;又称单样本均数t检验&#xff0c;适用于来自正态分布的某个样本均数与已知总体均数的比较&#xff0c;其比较目的是检验样本均数所代表的总体均数是否与已知总体均数有差别。已知总体均数…

hiredis的安装与使用

hiredis的介绍 Hiredis 是一个用于 C 语言的轻量级、高性能的 Redis 客户端库。它提供了一组简单易用的 API&#xff0c;用于与 Redis 数据库进行交互。Hiredis 支持 Redis 的所有主要功能&#xff0c;包括字符串、哈希、列表、集合、有序集合等数据结构的读写操作&#xff0c…

【CSS 画个梯形】

使用clip-path: polygon画梯形 clip-path: polygon使用方式如下&#xff1a; 效果实现 clip-path: polygon 是CSS的属性之一&#xff0c;用于裁剪元素的形状。它可以通过定义一个具有多边形顶点坐标的值来创建一个多边形的裁剪区域&#xff0c;从而实现元素的非矩形裁剪效果。…

Python实现企业微信群告警

Python实现企业微信告警 1. 创建企业微信群机器人 1-1. 什么是企业微信群机器人&#xff1f; 企业微信群机器人是企业微信平台提供的一种功能&#xff0c;可以通过Webhook方式将消息发送到指定的企业微信群中。它可以用于自动化发送通知、告警等信息&#xff0c;实现监控和信…

设计模式之职责链模式(ChainOfResponsibility)的C++实现

1、职责链模式的提出 在软件开发过程中&#xff0c;发送者经常发送一个数据请求给特定的接收者对象&#xff0c;让其对请求数据进行处理&#xff08;一个数据请求只能有一个对象对其处理&#xff09;。如果发送的每个数据请求指定特定的接收者&#xff0c; 将带来发送者与接收…

elementUI moment 年月日转时间戳 时间限制

changeStartTime(val){debuggerthis.startT val// this.startTime parseInt(val.split(-).join())this.startTime moment(val).unix() * 1000 //开始时间毫秒if(this.endTime){this.endTime moment(this.endT).unix() * 1000 //结束时间毫秒if(this.startTime - this.endTi…

webassembly003 ggml GGML Tensor Library part-2 官方使用说明

https://github.com/ggerganov/whisper.cpp/tree/1.0.3 GGML Tensor Library 官方有一个函数使用说明&#xff0c;但是从初始版本就没修改过 : https://github1s.com/ggerganov/ggml/blob/master/include/ggml/ggml.h#L3-L173 This documentation is still a work in progres…

Windows用户如何安装Cpolar

目录 概述 什么是cpolar&#xff1f; cpolar可以用在哪些场景&#xff1f; 1. 注册cpolar帐号 1.1 访问官网站点 2. 下载Windows版本cpolar客户端 2.1 下载并安装 2.2 安装完验证 3. token认证 3.1 将token值保存到默认的配置文件中 3.2 创建一个随机url隧道&#x…

芯片 半导体 晶圆

芯片&#xff08;chip&#xff09;就是半导体元件产品的统称&#xff0c;是 集成电路&#xff08;IC&#xff0c; integrated circuit&#xff09;的载体&#xff0c;由晶圆分割而成。 半导体集成电路是将很多元件集成到一个芯片内, 以处理和储存各种功能的电子部件。由于半导…

【ES6】—【新特性】—Symbol详情

一、一种新的原始数据类型 定义&#xff1a;独一无二的字符串 二、 声明方式 1. 无描述声明 let s1 Symbol() let s2 Symbol() console.log(s1, s2) // Symbol() Symbol() console.log(s1 s2) // falsePS: Symbol 声明的值是独一无二的 2. 有描述的声明 let s1 Symb…

Linux系统编程系列之进程间通信(IPC)-信号

一、什么是信号 信号是进程间通信的一种方式&#xff0c;它是异步通信的。而异步的意思就是不同步&#xff0c;事件的发生和处理没有协同。 二、信号的特性 Linux/Unix系统下&#xff0c;信号总共分成两大类&#xff0c;一类是最常用的标准信号&#xff0c;另一类是后面的引入…

云服务器 宝塔(每次更新)

su root 输入密码 使用 root 权限 /etc/init.d/bt default 获取宝塔登录 位置和账号密码。进入宝塔 删除数据库 删除php前端站点 删除PM2后端项目 前端更改完配置打包dist文件 后端更改完配置项目打包 数据库结构导出 导入数据库 配置 PM2 后端 安装依赖