JavaScript中的Date(日期)

日期对象

UTC时间:UTC协调世界时即格林威治平太阳时间,是指格林威治所在地的标准时间,也是表示地球自转速率的一种形式,UTC基于国际原子时间。(百度的)
GMT时间:GMT指的是格林威治中央区时。

创建日期对象就要使用new关键字调用Date构造函数

let now = new Date();

如果不给Date构造函数参数,那么就会保存当前日期和时间。如果需要创建指定的日期对象,那么就需要给Date()构造函数传入日期的毫秒表示。ECMAScript提供了两种转毫秒的方法。Date.parse() Date.UTC()

Date.parse()

它接收一个表示时间的字符串。函数会尝试将字符串转为表示该日期的毫秒值。
日期格式:

  • “月/日/年”,5/23/2021
  • “月名 日,年”, “May 23, 2021”
  • “周几 月名 日 年 时:分:秒 时区”, ‘Tue May 23 2021 00:00:00 GMT+0800’;
  • “YYYY-MM-DDTHH:mm:ss.sssZ”, “2019-05-23T00:00:00” (只适用兼容ES5)

如果要创建一个 2021年5月1日 的日期对象

let date = new Date(Date.parse('May 1, 2021'));

如果给 Date.parse() 的字符串不能解析为正确的日期格式,就会返回NaN。如果直接把表示日期的字符串给 new Date() 构造函数那么就会默认调用 Date.parse()

Date.UTC

Date.UTC() 方法也返回日期的毫秒表示,但使用的是跟 Date.parse() 不同的信息。
传入 Date.UTC() 的参数是 (年, 月(0-11) 日(1-31)时(0-23)分 秒 毫秒) 。这些参数中是必须的。不提供日默认会按照 1日来计算 剩下的参数都按0计算

let date1 = new Date(Date.UTC(2021, 0));
let date2 = new Date(Date.UTC(2021, 0, 5, 17, 55, 55));

date1的日期是 2021年1月零点
date2的日期是 2021年1月5日下午17时55分55秒
Date.parse一样,Date.UTC也会被隐式调用。但有一个区别:Date.UTC是本地时间不是GMT时间

ESMAScript还提供了 Date.now() 方法,该方法返回执行日期的毫秒数

日期/时间组件方法

方法说明
getTime ()返回日期的毫秒表示(时间戳)
setTime ()设置日期的毫秒表示
getFullYear()返回四位数年数
getUTCFullYear()返回UTC日期的4位年数
getMounth()返回日期表示的月份 (0-11)月份从0开始
getUTCMouth()返回UTC日期的月 (0-11)
getDate()返回日期中的日 (1-31)
getUTCDate()返回UTC日期中的日 (1-31)
setDate(date)设置日期中的日,如果data大于改月天数,则加月
setUTCDate(date)设置UTC日期中的日
getDay()返回日期中表示周几的数值(0表示周日,6表示周六)
getUTCDay()返回UTC日期中表示周几的数值
getHours()返回日期中的时(0-23)
getUTCHours()返回UTC日期中的时(0-23)
setHours(hours)设置日期中时(如果hours大于23则加日)
setUTCHours(hours)设置UTC日期中的时(hours大于23加日)
getMInutes()返回日期中的分(0-59)
getUTCMinutes()返回UTC日期中的分(0-59)
setMinutes(minutes)设置日期中的分 (如果minutes大于59,则加时)
setUTCMinutes(minutes)设置UTC日期中的分 (如果minutes大于59,则加时)
getSeconds()返回日期中的秒(0-59)
getUTCSeconds()返回UTC日期中的秒(0-59)
setSeconds(seconds)设置日期中的秒(如果seconds大于59,则加分)
setUTCSeconds(seconds)设置UTC日期中的秒(如果seconds大于59,则加分)
getMilliseconds()返回日期中的毫秒
getUTCMilliseconds返回UTC日期中的毫秒
setMilliseconds(milliseconds)设置日期中的毫秒
setUTCMilliseconds(milliseconds)设置UTC日期的毫秒
getTimezoneOffset()返回以分钟计时的UTC与本地时区的偏移量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值