Javascript基本引用类型之Date

  • 理解对象

  • 基本js数据类型

  • 原始值与原始值包装类型

  • 引用值(或者对象)是某个特定引用类型的实例。

  • ES中,引用类型是把数据和功能组织到一起的结构,经常被人错误地称作“类”。

  • 从技术上讲js是一门面向对象语言,但ES缺少面向对象编程语言所具备的某些基本结构,包括类和接口。

  • 引用类型有时也被称为对象定义。

  • 引用类型和类并不是一个概念。

  • 对象被认为是某个特定引用类型的实例。

    • 新对象通过使用new操作符后跟一个构造函数(constructor)来创建。
    • let now = new Date()
  • 函数也是一种引用类型;


Date

  • ES的Date类型参考了java.util.Date

  • let now = new Date()

  • 在不给Date构造函数传参的情况下,创建的对象讲保存当前日期和时间。

  • 要基于其他日期和时间创建日期对象,必须传入其毫秒表示(UNIX纪元1970年1月1日午夜之后的毫秒数)

  • ES提供2个辅助方法:

    • Date.parse()
    • Date.UTC()
  • Date.parse()方法接收一个表示日期的字符串参数,尝试将这个字符串转换为表示该日期的毫秒数。

    • 支持的日期格式:
      • “月/日/年”,“5/23/2019”;
      • “月名 日, 年”,“May 23, 2019”;
      • “周几 月名 日 年 时:分:秒 时区”,如"Tue May 23 2019 00:00:00 GMT-0700";
      • ISO 8601扩展格式 “YYYY-MM-DDTHH:mm:ss.sssZ”,如"2019-05-23T00:00:00"(只适用于ES5的实现)
      let someDate = new Date(Date.parse("May 23, 2019"));
      // 等价于
      let someDate = new Date("May 23, 2019");
    
    • 如果传给Date.parse()的字符串并不表示日期,则该方法返回NaN。如果直接把表示日期的字符串传给Date构造函数,则Date会在后台调用Date.parse()。
  • 不同的浏览器对Date类型的实现有很多问题。

  • Date.UTC()方法返回日期的毫秒表示,但使用的是跟Date.parse()不同的信息来生成这个值。

    • 传给Date.UTC()的参数是年、零起点月数(1月是0,2月是1,…)、日(131)、时(023)、分、秒和毫秒。年和月是必要的参数。不提供日,默认为1日。其他参数默认为0.
      // GMT时间2000年1月1日零点
      let y2k = new Date(Date.UTC(2000, 0));
    
      let allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55))
    
    • Date.UTC()也会被Date构造函数隐式调用,但是有个区别就是,这种情况下创建的是本地日期,不是GMT日期。
      // 本地时间
      let y2k = new Date(2000, 0);
      let allFive = new Date(2005, 4, 5, 17, 55, 55)
    
  • Date.now(),返回表示方法执行时日期和时间的毫秒数。

  let start = Date.now()
  • 继承的方法

    • Date重写了toLocaleString(): 返回与浏览器运行的本地环境一致的日期和时间
    • toString():返回带时区信息的日期和时间
    • valueOf():根本就不返回字符串,这个方法被重写后返回的是日期的毫秒表示
    • 重写后的返回值不一样
  • 日期格式转化方法

    • toDateString()显示日期中的周几、月、日、年(格式特定于实现)
    • toTimeString()显示日期中的时、分、秒、时区(格式特定于实现)
    • toLocaleDateString()显示日期中的周几、月日、年(格式特定于实现和地区)
    • toLocaleTimeString()显示日期的时、分、秒(格式特定于实现和地区)
    • toUTCString()显示完整的UTC日期(格式特定于实现)
  • 日期/时间组件方法

    • more
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值