迷惑的Date对象

new Date()

  • 在不传参的情况下,新创建的对象自动获得当前日期和时间。
  • 要创建指定日期,应该传入该日期的毫秒数,所以提供了两个方法:
    • Date.parse(): 将按照格式传入的日期转换为毫秒数,支持哪些格式可以自行查阅, 类似与这样Date.prase("2004-05")
    • Date.UTC(): 将按照格式传入的日期转换为毫秒数,注意返回的是UTC国际协调时间,支持哪些格式可以自行查阅,类似于这样Date.UTC(2005, 0, 1)
  • 当不使用上面的方法转换毫秒数,而是直接将日期写入new Date()当中的时候,会在隐士调用前面两个方法当中的一个

Date.now()返回的是调用这个方法的时候的日期和时间的毫秒数,用途如下:

var start = Date.now()
// 这里执行一段代码
var top = Date.now()
var result = stop-start

继承的方法

这里的方法都是对整个时间进行格式化,下节要接着介绍的日期格式化,是对整个日期当中的一部分进行格式化,toUTCString例外。

重写了一些方法,如下:

  • toLocalString(): 根据浏览器设置的地区想对应的格式返回日期。不过不同浏览器中返回的结果不一样。所以如果要显示在界面上,请不要使用。
  • toString(): 返回带有该地区的时区信息的日期和时间。不过不同浏览器中返回的结果不一样。所以如果要显示在界面上,请不要使用。 并且得到的字符串格式Date构造函数能够识别。
  • valueOf(): 返回日期的毫秒表示,注意返回的不是UTC时间。可以用来比较时间,如下
var date1 = new Date(2007, 0, 1)
var date2 = new Date(2007, 1, 1)
data1.valueOf() < date2.valueOf() // true

日期格式化方法

  1. 带有Date表示年月日星期几
  2. 带有time表示时分
  3. 带有Locale表示相对于本地时区
  4. 带有UTC代表此时UTC国际协调时间(1970年1月1日零时)

上面的前两点仅仅适用于下面的几个方法

  • toDateString() : 得到的字符串格式Date构造函数也能够识别
  • toTimeString()
  • toLocaleDateString()
  • toLocaleTimeString()
  • toUTCString()

上面的方法在浏览器当中输出也是因浏览器而异,所以如果要显示在界面上,请不要使用

日期/时间的取得和设置方法

这里查看JavaScript高级程序设计第三版102页。查看的 需要注意,其实列出的方法是按照下面的顺序来列举的,并

  1. 日期的毫秒数的取得和设置
  2. 日期的年、月、日、星期几,时间的时、分、秒、毫秒的取得和设置,并且取得和设置都分为常规和UTC的方法
  3. getTimeZoneOffset(): 返回本地时间与UTC时间相差的分钟数,可以将得到的分钟数转换为毫秒数。

时区转换的例子:

function(hours) {  //参数表示与UTC时间相差的小时
	var date = new Date()
    var millseconds = date.getTime() + date.getTimezoneOffset()*60*1000
    var result = new Date(millseconds)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值