JavaScript中日起对象通过 new Date(参数) 获取,不传参数时,默认获取的是当前时间:
var date = new Date()
console.log(date) // Mon Mar 30 2020 10:54:32 GMT+0800 (中国标准时间)
参数的形式有多种:
-
毫秒数
示例:var date = new Date(1000) console.log(date) //Thu Jan 01 1970 08:00:01 GMT+0800 (中国标准时间)
由于日起对象是从1970年1月1日00:00:00(
国际标准时间
)开始计算的,当参数为毫秒数的时候,得到的日期是从1970年1月1日00:00:00往后数多少毫秒后的时间,由于中国的地理位置在东八区,所以计时是从1970年1月1日08:00:00开始,当参数传1000毫秒时,得到是的时间就是1970年1月1日08:00:00之后的1s,即1970年1月1日08:00:01 -
日期形式的字符串:dateString
示例:var date = new Date('2019-8-1 8:7:10') console.log(date) //Thu Aug 01 2019 08:07:10 GMT+0800 (中国标准时间)
日期字符串的形式多种多样,不同的国家形式也个不相同,这里只举例我比较熟悉的形式,得到的时间就是传进去的时间
-
new Date(年,月,[日,时,分,秒,毫秒])
示例:var date = new Date(2019,3,4,12,31,39,1000); console.log(date) // Thu Apr 04 2019 12:31:40 GMT+0800 (中国标准时间)
这里有三个需要注意的地方
- 这种形式传参的时候,至少要传两个参数,否则它会认为你传的毫秒数,所以至少要传 年和月两个参数
- 日期对象的 月份是从0开始计算的(0 - 代表1月,1 - 代表2月,... ,11 - 代表12月),所以当我传 3 的时候,他会认为是 4月,得到的结果自然而然的就成了4月
- 这种形式各个参数会自动进位,如上代码,我传入的代表分钟的参数是39,但是由于后面传了1000ms, 它自动进位成1s,所以得到的结果输出就成了 12:31:40 秒
说说日期对象中的方法
get 方法
-
getFullYear()
获取年份 -
getMonth()
获取月份,注意月份从0 开始计算,获取到得月份加1才是实际月份,例:var month = new Date().getMonth(); console.log(month) // 2,当前是3月,得到的是2
-
getDate()
获取日期 -
getHours()
获取小时 -
getMinutes()
获取分钟 -
getSeconds()
获取秒 -
getMilliseconds()
获取毫秒 -
getDay()
获取星期几,这里要注意的是 0 代表星期日 -
getTime()
获取从1970年到当前时间经过的毫秒数,中国 就是从1970年1月1日08:00:00到当前时间经过的毫秒数。
set 方法
-
setFullYear(年)
:设置年份,返回值是1970年距离设置年份的毫秒数 -
setMonth(月)
:设置月份 -
setDate(日)
:设置日期 -
setHours(时)
:设置时 -
setMinutes(分)
:设置分 -
setSeconds(秒)
:设置秒 -
date.setMilliseconds(毫秒)
:设置毫秒
例:
var date = new Date()
console.log(date) //Mon Mar 30 2020 12:27:35 GMT+0800 (中国标准时间)
date.setFullYear(2018);
console.log(date) // Fri Mar 30 2018 12:28:30 GMT+0800 (中国标准时间)
其余的就不一一举例了,用法都是一样的
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。