js学习笔记:引用类型——Date

本文详细介绍了Java中日期时间API的使用方法,包括Date类型的创建、静态方法与实例方法的应用,以及如何通过Date.parse()和Date.UTC()进行日期解析与创建。此外,还介绍了如何利用Date.now()进行代码执行时间的分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Date类型是在早期java中的java.util.Date类的基础上构建的,因此Date类型使用UTC(从1970年1月1如零时到现在的毫秒数)来保存日期。

创建日期对象

var now = new Date();
  • 不给构造函数传参的情况下,新创建的对象自动获得当前日期和时间。
  • 传入一个表示日期的毫秒数,则可以创建该日期时间的日期对象

静态方法

Date.parse( )

  • 接收一个表示日期的字符串参数
  • 尝试根据这个字符串返回相应日期的毫秒数
  • 但此方法支持的字符格式有些混乱……
var someDate = new Date(Date.parse("May 25,2004"));
  • 如果传入parse方法的字符串不能表示日期,那么它会返回NaN。

  • 实际上,如果直接把表示日期的字符串传给Date构造函数,也会在后台调用Date.parse()。

//与上个例子等价的
var someDate = new Date("May 25,2004")

Date.UTC()

  • 同样返回表示日期的毫秒数
  • 参数分别为年份、基于0的月份、月中的哪一天(1-31)、小时数(0-23),分钟、秒、毫秒
    只有前两个参数是必需的。
  • 基于GMT时间创建
var date = new Date(Date.UTC(2000,0)); //2000年1月1日零时
var date2 = new Date(Date.UTC(2005,4,5,17,55,55));//2005年5月5日下午5:55:55
  • Date构造函数也可以接收Date.UTC这样的参数,但时间是基于本地时区而非GMT来创建。
  • 因此,如果第一个参数是数值,Date构造函数就会假设该值是日期中的年份,第二个参数是月份,以此类推。
    因此可以将前面的例子重写如下:
var date = new Date(2000,0); //2000年1月1日零时
var date2 = new Date(2005,4,5,17,55,55);//2005年5月5日下午5:55:55

Date.now()

  • 返回调用这个方法时的日期和时间的毫秒数
  • 可以使用此方法来分析代码工作
var start = Date.now();

doSomething();

var stop = Date.now();
var result = stop-start;
  • 在不支持now方法的浏览器中,使用+操作符获取Date对象的时间戳也可以达到同样的目的:
var start = +new Date();

doSomething();

var stop = +new Date();
var result = stop-start;

实例方法

  • getDate():根据本地时间返回指定日期对象是月份中的第几天(1-31)
  • getDay():根据本地时间返回指定日期对象是星期中的第几天(0-6)
  • getFullYear():根据本地时间返回指定日期对象的年份
  • getHours():根据本地时间返回指定日期对象的小时(0-23)
  • getMonth():根据本地时间返回指定日期对象的月份(0-11)
  • getTime():返回从1970-1-1 00:00:00 UTC(协调世界时)到该日期经过的毫秒数

每个get方法都有相应的set方法。

继承的方法

  • toString与toLocaleString返回表示日期的字符串,具体的格式与浏览器有关。
  • valueOf则返回日期的毫秒表示。
    因此可以使用比较操作符来比较日期
var date1 = new Date(2007,0,1);
var date2 = new Date(2007,1,1);
date1<date2; //true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值