除了前两天介绍的Object、Array类型,Date应该就是JS中最常用的引用类型了

先介绍一下Date类型,该类型使用在Java的 java.until.Date 类的基础上构建的

使用UTC 1970年一月一日零时为基准的毫秒数来保存时间

Date的创建

var now = new Date();

以上方式会自动获取当前的时间,如果需要指定的时间,那么则需要对 Date 构造函数传入参数(毫秒表示)

而为了简化计算过程,Date对象为我们提供以下方法

1.Date.parse() 该方法接收一个表示日期的字符串,由于ECMA没有定义该方法应该接收哪种日期格式(IE8以上的浏览器支持 YYYY-MM-DDTHH:mm:ss.sssZ),所以该方法的行为因实现、地区而异(若该字符串不能解析为日期,则返回NaN,若能解析则返回毫秒数)

2.Date.UTC() 接收参数 1. 年份 2. 月份(基于0) 3.月中的哪一天 4.小时数 5.分钟 6.秒 7.毫秒  这些参数中只有1,2是必需的,其它参数若缺省则默认为0

两者的区别在于,parse是基于当前时区的

而 Date() 构造函数的行为更像是两者的结合,它可以解析日期字符串,不过创建的时区却是基于本机的时区

创建当前时间戳

var time = Date.now(); //ES5添加,也就是IE8+
var time = +new Date(); //在支持上方的前提下
var time = new Date(); // 兼容性好

Date对象的方法

  • 继承自Object的方法

    • 和所有引用类型一样,有继承自Object的几个方法,但具体功能又有所不同
    • toLocaleString() 会按照浏览器设定的地区,返回与之相适应的日期格式的日期(该方法在每个浏览器的的表现大相径庭所以不推荐用于表示日期)
    • toString() 返回带有时区信息的日期
    • valueOf() 返回毫秒数
  • 格式化方法
    • toDateString() 以特定格式显示星期几、月、日、年
    • toTimeString() 以特定格式显示时、分、秒、时区
    • toLocaleDateString() 以特定地区格式显示星期几、月、日、年
    • toLocaleTimeString() 以特定地区格式显示时、分、秒、时区
    • toUTCString() 以特定格式显示完整UTC信息
    • PS. 到目前为止介绍的方法除了valueOf 之外 没有一个方法可以向用户界面显示统一的日期信息,上述方法都会因为浏览器和地区的原因有所差别
  • 自定义日期格式
    • 一般来说在前端开发的过程中,经常会根据项目需求自定义日期格式
    • 所以会用到下面的方法来自定义日期格式
    • 由于方法很多,网上也很容易就能找到,这里就直接上图了,望见谅(没必要重复造轮子)
    • 详情见W3cMDN
    • PS. 顺带一提,个人认为W3C适合查一些基础的用法,MDN相对来说要详细许多,如果两者都无法满足,请大佬自行翻墙,看看外面的世界

    

关于Date对象的部分就介绍到这里,明天介绍正则对象,尽请期待。

Javascript高级编程学习笔记(14)—— 引用类型(3)Date类型的更多相关文章

  1. Javascript高级编程学习笔记(18)—— 引用类型(7)单体内置对象

    什么是内置对象呢? js高级程序设计中给出的定义为:由ES规定不依赖于宿主环境的对象,这些对象在JS执行前就已经存在 前面我们介绍的引用类型都是内置对象 除了这些对象外ECMA还规定了两个单体内置对象 ...

  2. Javascript高级编程学习笔记(15)—— 引用类型(4)RegExp类型

    JS中处理字符串最常用的应该就是正则了 同样正则(RegExp)类型也是JS中引用类型的一种 ECMAScript通过 RegExp类型 来支持正则表达式 创建正则 var expression = ...

  3. Javascript高级编程学习笔记(17)—— 引用类型(6)基本包装类

    基本包装类 基本包装类这个概念或许有的小伙伴没有听说过 但是小伙伴们有没有想过,为什么基本数据类型的实例也有方法呢? 其实这些方法都来自基本包装类型 这是JS为了方便操作基础数据类型而创建的特殊引用类 ...

  4. Javascript高级编程学习笔记(16)—— 引用类型(5) Function类型

    JS中许多有趣的地方都和函数脱不了联系 那么是什么让JS中的函数这么有趣呢? 我们一起来看看吧 Function类型 在JS中函数实际上就是对象,每个函数都是Function类型的实例,和JS的其他引 ...

  5. Javascript高级编程学习笔记(13)—— 引用类型(2)Array类型

    除了Object类型之外ECMA中最常用的引用类型可能就是Array类型了 并且ECMA中的数组类型和其他大多数编程语言的数组类型存在着很大的区别 今天就介绍一下JS中的Array的特别之处 区别 1 ...

  6. Javascript高级编程学习笔记(12)—— 引用类型(1)Object类型

    前面的文章中我们知道JS中的值分为两种类型 基础类型的值和引用类型的值 基础类型的值我已经大概介绍了一下,今天开始后面几天我会为大家介绍一下引用类型的值 Object类型 对象是引用类型的值的实例,在 ...

  7. Javascript高级编程学习笔记(70)—— 事件(14)内存和性能

    由于事件处理程序是现代的web程序交互能力的提供者 所以在日常实践中,我们免不了要向页面中添加大量的事件处理程序(不管是用于用户交互还是用于统计用户数据) 在创建GUI(图形用户界面)的语言(如C#) ...

  8. Javascript高级编程学习笔记(23)—— 函数表达式(1)递归

    前面的文章中,我在介绍JS中引用类型的时候提过,JS中函数有两种定义方式 第一种是声明函数,即使用function关键字来声明 第二种就是使用函数表达式,将函数以表达式的形式赋值给一个变量,这个变量就 ...

  9. Javascript高级编程学习笔记(8)—— 变量

    日常更新~~ 变量 所有的编程语言中,变量都是赋予语言灵活性的根本所在. 那么JS中的变量又有那些与众不同的地方呢.? 按照ECMA-262的定义,JS的变量和其他编程语言的变量有很大的区别 其松散类 ...

随机推荐

  1. CentOS7下开放端口

    memcached等服务启动后,外网默认是无法访问的,因为防火墙不允许,所以要开启防火墙,让其可以访问这些端口号. 方法一:使用firewall 1.运行命令:firewall-cmd --get-a ...

  2. python爬虫工具集合

    python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...

  3. 2-1 如何抓不同的接口(手机抓包,web网页抓包)

    举个例子,一个测试和安卓的对话. 测试:Android你这里有个bug Android:这是服务端的bug 测试:是你这里显示的不对 Android:你去看服务端返回数据,他不对,你会不会测试. 从这 ...

  4. 解决build workspace 缓慢的问题

    (1).解决方法         方法1.修改eclipse启动文件 eclipse.ini 中添加启动参数参数: -vmargs -Xmx512m         方法2.关闭自动构建工作区: pr ...

  5. Mysql双主互备+keeplived高可用架构(部分)

    一.Mysql双主互备+keeplived高可用架构介绍 Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力.但是在这种 ...

  6. promise 链式

    let send = (item) => Promise.resolve(`此时参数是:(${item})`) async function init(){ const arr = [1,2,3 ...

  7. Concept Drift(概念漂移)

    Introdution concept drift在机器学习.时间序列以及模式识别领域的一种现象.如果是在机器学习领域中,这个概念指的就是一个模型要去预测的一个目标变量,概念漂移就是这个目标变量随着时 ...

  8. 使用sort对数组中的对象的某个属性进行排序

    var data=[ { code: "10004", grade: "5.6", planQuantity: 220, }, { code: "10 ...

  9. elasticsearch中 refresh 和flush区别(转)

    elasticsearch中有两个比较重要的操作:refresh 和 flush refresh操作 当我们向ES发送请求的时候,我们发现es貌似可以在我们发请求的同时进行搜索.而这个实时建索引并可以 ...

  10. redis操作(String,Hash,List,Set,其他操作)

    一.String操作 String操作,redis中的String在在内存中按照一个name对应一个value来存储.如图: set(name,value,ex=None,px=None,nx=Fal ...