除了前两天介绍的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 之外 没有一个方法可以向用户界面显示统一的日期信息,上述方法都会因为浏览器和地区的原因有所差别
  • 自定义日期格式
    • 一般来说在前端开发的过程中,经常会根据项目需求自定义日期格式
    • 所以会用到下面的方法来自定义日期格式
    • 由于方法很多,网上也很容易就能找到,这里就直接上图了,望见谅(没必要重复造轮子)
    • 详情见W3c、MDN
    • 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. linux上安装MongoDB副本集(带keyfile安全认证以及用户权限)

    搭建前准备 MongoDB版本:4.0 主要参考搭建MongoDB副本集网站:https://www.jianshu.com/p/f021f1f3c60b 安装之前最好先确定一下几点: 防火墙关闭 M ...

  2. MySql 游标定义时使用临时表

    参考:Re: Temp Table in Select of a Cursor 方法一: delimiter $$ create procedure test_temp() begin drop te ...

  3. celery 应用

    开启服务 #日志 级别 celery -A write_file worker -l info file name :write_file.pyfrom celery import Celery ce ...

  4. ng环境搭建步骤

    1,安装node node -v查看版本号 2,安装淘宝镜像 npm config set registry https://registry.npm.taobao.org 3,安装cnpm npm ...

  5. How to Read a Paper

    How to Read a Paper 原文: https://www.yuque.com/lart/papers/yrkv5u 题目:How to Read a Paper 作者:S. Keshav ...

  6. Codeforces 1086D Rock-Paper-Scissors Champion

    Description \(N\) 个人排成一排, 每个人都事先决定出剪刀.石头.布. 每次可以任意选两个相邻的人进行决斗. 规则和游戏一样. 但是如果平局, 则掷硬币来决定胜负. 输的人下场. 现要 ...

  7. ClassLoader的工作机制

    本文中主要介绍类加载器的工作机制 一:首先什么是类加载器? 类加载器就是用来加载java类到java虚拟机中.java源程序经过编译之后形成字节码文件,类加载器将字节码文件加载到内存中,并转换成jav ...

  8. BUAA_OO第一单元总结

    OO第一单元总结 目录 作业总体分析 代码结构分析 遇到的bug问题    找到bug的方法 结语 一.作业总体分析 尽管这个单元三次作业都是表达式求导,但我认为每次作业的侧重点是不同的. 对于第一次 ...

  9. AX_Unit

    UnitConvert::qty(_deliverNow,      salesLine.SalesUnit,      salesLine.inventTable().inventUnitId(), ...

  10. C# WPF 通过委托实现多窗口间的传值

    在使用WPF开发的时候就不免会遇到需要两个窗口间进行传值操作,当然多窗口间传值的方法有很多种,本文介绍的是使用委托实现多窗口间的传值. 在上代码之前呢,先简单介绍一下什么是C#中的委托(如果只想了解如 ...