除了前两天介绍的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 查看操作系统版本信息

    CentOS 查看操作系统版本信息1.使用cat /proc/version .uname 查看内核版本 [root@CentOS7 ~]# cat /proc/version Linux versi ...

  2. 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例

    ES5中,一共有9个Array方法 Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.pr ...

  3. Yii2.0 解决“the requested URL was not found on this server”问题

    在你下了 Yii 框架,配置完路由 urlManager 后,路由访问页面会报错“the requested URL was not found on this server”,url类似于这种“ht ...

  4. 《Miracle-House团队》项目需求分析改进

    (一)团队项目需求分析改进 一.<西小餐项目需求规格说明书>的不足 通过老师和其他同学的指正和建议,我们发现上次的需求规格说明书存在以下不足: 1.需求规格文档不够完整和规范: 2.系统设 ...

  5. squid 透明代理配置

    阿铭在教程中已经介绍过squid的安装和配置,http://study.lishiming.net/chapter22.html 教程中只介绍了初级的正向代理和反向代理,这篇文档将要介绍透明代理如何配 ...

  6. shell知识

    shell基本的语句 一:if语句 格式: if [ #条件的判断 ];then #执行的动作 fi 操作符 + 加 - 减 * 乘 /   除[取整数商] % 余[取余数] 数值的比较 参数 说明 ...

  7. linux密码特殊字符识别

    当密码是! @ # 等特殊字符, 用“\” 转译字符:比如密码为123!@#,我们在可以写123\!\@\#

  8. Fiddler功能介绍之Web抓包、远程抓包教程【转载】

    一.fiddler简介 简单来说,Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯.网上简介很多,我们不多说. 二.fiddler版本 fiddle ...

  9. WPF一组Radio与enum绑定

    工作中用到了一组RadioButton对应一组数据的情况,这个时候最好能将一组RadioButton绑定Enum. 步骤 1.MyControl库中Type.cs中定义Enum namespace M ...

  10. C#在SharePoint文档库下动态新增文件夹

    /// <summary> /// 在创建SP文库库下动态新增文件夹 /// </summary> /// <param name="spList"& ...