2021-08-15

本文详细介绍了JavaScript中的Date对象,包括时间的基础知识如GMT、UTC和时间戳,以及如何创建、设置和获取日期时间。通过实例展示了生成当前及特定时间对象的方法,并列举了日期的设置和获取方法。了解这些内容将有助于更好地处理JavaScript中的日期和时间。
摘要由CSDN通过智能技术生成

Date对象

Date对象可用于获取当前对象、设置/获取特定时间对象。

关于时间的前置知识

标准时间
GMT即「格林威治标准时间」(Greenwich Mean Time,简称G.M.T.),指位于英国伦敦郊区的皇家格林威治天文台的标准时间,因为本初子午线被定义为通过那里的经线。然而由于地球的不规则自转,导致GMT时间有误差,因此目前已不被当作标准时间使用。UTC是最主要的世界时间标准,是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子时所综合精算而成的时间。UTC比GMT来得更加精准。其误差值必须保持在0.9秒以内,若大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。不过日常使用中,GMT与UTC的功能与精确度是没有差别的。协调世界时区会使用“Z”来表示。而在航空上,所有使用的时间划一规定是协调世界时。而且Z在无线电中应读作“Zulu”(可参见北约音标字母),协调世界时也会被称为“Zulu time”。

TimeZone&UTC Offsets:时区与偏移
人们经常会把时区与UTC偏移量搞混,UTC偏移量代表了某个具体的时间值与UTC时间之间的差异,通常用HH:mm形式表述。而TimeZone则表示某个地理区域,某个TimeZone中往往会包含多个偏移量,而多个时区可能在一年的某些时间有相同的偏移量。譬如America/Chicago, America/Denver, 以及 America/Belize在一年中不同的时间都会包含 -06:00 这个偏移。

时间戳
Unix时间戳表示当前时间到1970年1月1日00:00:00 UTC对应的秒数。注意,JavaScript内的时间戳指的是当前时间到1970年1月1日00:00:00 UTC对应的毫秒数,和unix时间戳不是一个概念,后者表示秒数,差了1000倍。

此段参考链接:https://segmentfault.com/a/1190000007581722

创建日期对象

有 4 种方法创建新的日期对象:
new Date()
new Date(year, month, day, hours, minutes, seconds, milliseconds)
new Date(milliseconds) //1970年1月1日到创建日期的间隔时间(ms)
new Date(date string)

生成当前时间对象

var dateObj = new Date()
console.log(dateObj)//打印的是UTC时间
console.log(dateObj.toString())//打印当前时区时间的字符串形式

输出结果:
2021-08-15T07:35:28.493Z
Sun Aug 15 2021 15:35:28 GMT+0800 (中国标准时间)

生成特定时间对象

示例
var dateObjSp = new Date(2021,0,1,16,2,30)

  • 参数分别为年份、月份、日期、时、分、秒
  • 月份的取值范围是0~11,分别代表1月到12月

示例
var d2 = new Date(“10/2/1995 16:57:22”)

var dateObjSp = new Date(2021,0,1,16,2,30)
var d2 = new Date("10/2/1995 16:57:22")

console.log(dateObjSp .toString())//打印当前时区时间的字符串形式
console.log(d2.toString())

输出结果:
Fri Jan 01 2021 16:02:30 GMT+0800 (中国标准时间)
Mon Oct 02 1995 16:57:22 GMT+0800 (中国标准时间)

日期设置方法

方法描述
setDate()以数值(1-31)设置日
setFullYear()设置年(可选月和日)
setHours()设置小时(0-23)
setMilliseconds()设置毫秒(0-999)
setMinutes()设置分(0-59)
setMonth()设置月(0-11)
setSeconds()设置秒(0-59)
setTime()设置时间(从 1970 年 1 月 1 日至今的毫秒数)

日期获取方法

方法描述
getDate()以数值返回天(1-31)
getDay()以数值获取周名(0-6)
getFullYear()获取四位的年(yyyy)
getHours()获取小时(0-23)
getMilliseconds()获取毫秒(0-999)
getMinutes()获取分(0-59)
getMonth()获取月(0-11)
getSeconds()获取秒(0-59)
getTime()获取时间(从 1970 年 1 月 1 日至今)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值