一次代码审核,其中刚好遇见了一些知识点记录顺带整理一下吧

  • date对象是javascript语言中内置的数据类型,用于提供日期和时间的操作接口。
  • Date类型使用自UTC1970年1月1日0点开始经过的毫秒数来保存日期,它可以表示的时间范围是1970年1月1日0点前后的各1亿天。

概念性的东西请移步这个博主的文章,写的真好!

https://www.cnblogs.com/xiaohuochai/p/5663102.html

https://www.cnblogs.com/xiaohuochai/p/5663102.html

https://www.cnblogs.com/xiaohuochai/p/5663102.html


下面让我们来看一些函数实例

  • 每个Object对象都有 toLocaleString/toString/valueOf 这些方法。
  • 像其他对象一样,Date继承了Object并重写了这些方法。

由于 Date.valueOf 直接返回的是是日期的毫秒表示,所以我们可以通过 +new Date()获取

我们我们最好是用 Date.now(ES5新增方法) 而不是 Date.parse

const pre1 = Date.parse(new Date()); // 1517828782000 - 丢失了毫秒的信息
const pre2 = Date.now(new Date()); // 1517828814628
const pre3 = (+ new Date()); // 1517828814628
console.log(pre1, pre2, pre3);

要注意客户端时间和服务端时间的区别(精确的时间还是需要 后端 来做的)

const a = new Date();

这里的 a 最后的值是客户端的时间(注意,不是联网后的当天时间!!!!!!)

我一直蠢蠢地以为这会是 正确的时间。

它将会是本地客户端的时间。意即是说,若我脑残地把自己手机或者电脑时间改了,他就!!!!


关于时间函数的一些深入理解

此版块内容(copy至)源自:想看更多点我

Date对象属性描述(Object这一对象都有的东西)

  • constructor:返回创建此对象的Date函数的引用,可用于判断是否是 Date 对象
    const test = new Date();
    if (test.constructor === Array) {
    console.log("test is Array");
    };
    if (test.constructor === Date) {
    console.log("test is Date");
    } // 最后打出 test is Date
    Object.prototype.toString.call(new Date()) === '[object Date]' // true
  • prototype:使我们有能力向对象添加属性和方法
    Date.prototype.show = function() {
    console.log(this);
    }
    const a = new Date();
    a.show();

    需要注意的是这里不要乱用箭头函数哦。箭头函数的this。


Date对象的常用方法摘抄

const now = new Date()

  • getYear 注:ES3 之后此方法已经被 弃用
  • getDay 获取当前星期X (0-6, 0 代表星期天)
  • getFullYear 获取当前年份(4位, 1970-????)
  • getMonth 获取当前月份(0-11,0 代表1月)
  • getDate 获取当前日(1-31)
  • getHours 获取当前小时数(0-23)
  • getMinutes 获取当前分钟数(0-59)
  • getSeconds 获取当前秒数(0-59)
const a = new Date();
const o = (date) => {
return {
"noYear": date.getYear(), // 118
"year": date.getFullYear(), // 2018
"month": date.getMonth(), // 0(1月)
"date": date.getDate(), // 31
"hour": date.getHours(), // 20
"minutes": date.getMinutes(), // 18
"seconds": date.getSeconds() // 9
}
}
console.log(o(a));

关于一些时间的应用场景

  • 1.判断闰年
const isLeapYear = (...needles) => {
for (const obj of needles) {
if ((obj % 4 === 0 && obj % 100 !==0) || obj % 400 === 0) {
console.log(obj + "是闰年");
continue;
}
console.log(obj + "不是闰年");
}
}
isLeapYear(2004, 2000, 500);

complete.

关于JS的Date对象的探究的更多相关文章

  1. JavaScript基础17——js的Date对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. JS的Date对象、Math、包装类

    Date对象 在JS使用Date对象来表示时间  当前时间 var d = new Date();  指定时间 格式:月/日/年 时:分:秒 var e = new Date("02/16/ ...

  3. js实现小时钟,js中Date对象的使用?

    介绍一下js中Date对象的使用 dateObj = new Date() dateObj = new Date(dateValue) dateObj = new Date(year,month,da ...

  4. JS高级面试题思路(装箱和拆箱、栈和堆、js中sort()方法、.js中Date对象中的getMounth() 需要注意的、开发中编码和解码使用场景有哪些)

    1.装箱和拆箱: 装箱:把基本数据类型转化为对应的引用数据类型的操作: var num = 123 // num var objNum = new Num(123) // object console ...

  5. JS中Date对象getYear()方法和getFullYear()方法区别

    释义 JavaScript getFullYear() 方法 getFullYear() 方法可返回一个表示年份的 4 位数字. getYear() 语法 dateObject.getFullYear ...

  6. JS 的Date对象

    原文 http://www.cnblogs.com/towerking/p/3220410.html 一.获取Date对象 在JS中我们可以通过下面一段代码获取本地时间 var currentDate ...

  7. javascript得知 - js的Date对象函数

    js的Date功能很强大.通常使用. 首先获得当前的日期: var CurDate = new Date(); var Year = CurDate.getFullYear(); //年份(四位 例: ...

  8. js日期date对象

    js日期 日期对象的一些属性和方法 var date = new Date() date.toString() // "Tue Jan 29 2019 22:58:13 GMT+0800 ( ...

  9. js中Date()对象详解

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...

随机推荐

  1. Mule ESB学习【转-结合了网络上的一些资源】

    1.SOA标准之一:SCA架构思想 SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认),另外一个是:IBM和BEA等公司推出的SCA和SDO标准. JBI之关注J ...

  2. Eclipse或MyEclipse中给第三方jar包添加源码步骤

    0.目的 向web项目中添加mybatis源码. 1.项目结构如下 将mybatis的jar包添加到工程中 2.解压下载的mybatis压缩包(下载地址 https://github.com/myba ...

  3. Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)

    一.Description Stockbrokers are known to overreact to rumours. You have been contracted to develop a ...

  4. File:isctype.c Line 68

    刚接触DSP,拿来别人的代码,编译时,发现如下错误: 百思不得琪姐,一番调查之后,发现自己的工程worksapce中有中文路径,怎一个fuck了得.

  5. Python:代码单元、代码点介绍

    转于:https://www.cnblogs.com/runwulingsheng/p/5106078.html 博主:你是那天边突然划过的一道闪电 代码点:指编码表(比如Unicode)中某个字符的 ...

  6. Python-通过socket实现一个小型的端口检测工具

    实验机器IP:192.168.220.139,端口开放情况 代码 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import ...

  7. stm32之外设控制

    本文将提到以下内容: 蜂鸣器 按键控制 电容触摸 温度传感器 红外 TFTLCD触摸屏 MPU6050传感器 SPI-FLASH SDIO_SD卡 ucos-III移植 一.蜂鸣器 蜂鸣器是一种一体化 ...

  8. C语言学习笔记--C语言中变量的属性关键字

    变量属性关键字的使用语法:property type var_name; 1.auto 关键字 auto关键字是C语言中局部变量的默认的关键字,C编译器默认所有的局部变量都是auto的,它表明了被修饰 ...

  9. VUE之使用百度地图API

    利用vue创建点餐系统,在点餐系统中需要知道商家地址信息,这时就需要借用百度地图API. 步骤一:申请百度地图密钥: 步骤二:在index.html中添加百度地图JavaScript API接口: & ...

  10. mouseenter与mouseover的区别

    mouseover 事件:只有在鼠标指针穿过被选元素时,才会触发. mouseover 事件:鼠标指针穿过任何子元素,都会触发. 请看例子的演示.