一、基本概念
Date是JavaScript的内置对象,系统在Date对象中封装了与日期和时间相关的属性和方法。
Date使用UTC**1970年1月1日0时开始经过的毫秒数**来存储时间。
GMT 格林尼治时间
UTC 国际协调时间
二、创建Date对象四种方法:
var date= new Date();// 当前日期和时间(无参数的情况下返回值为当前时间)
——>Mon Aug 20 2018 16:39:52 GMT+0800 (中国标准时间)
不同浏览器显示的时间格式会有细微差异
new Date(milliseconds) //返回从 1970 年 1 月 1 日至今的毫秒数
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)
例:
var today = new Date()
var d1 = new Date(“October 13, 197511:13:00”)
var d2 = new Date(79,5,24)
var d3 = new Date(79,5,24,11,33,0)
三、时间相关的两个方法(了解即可)
Date.parse()返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
Date.parse()参数支持的时间格式如下:
1/24/2016;
January 24,2016;
Sun Jan 24 2016 10:10:10 GMT+0800
格式不正确会返回NaN
Date.UTC()根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
Date.UTC()参数支持的时间格式如下:
2016,1(前两个参数是必须的);
2016,1,24,10,10,10
数值含义为年/月/日/时/分/秒;格式不正确会返回NaN
月份和日期是从0开始
注意UTC时间和时区的换算,如东八区和标准时间是八小时时差
四、 Date实例相关的字符串表示方法
toSting()获取Date实例的字符串表示
toDateSting()获取Dater的日期部分字符串表示
toTimeSting()获取Dater的时间部分字符串表示
toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
valueOf():转换为毫秒数
var date=new Date();
var a=date.toString();
var b=date.toDateString();
var c=date.toTimeString();
var d= date.toLocaleString() ;
var e=date.toLocaleDateString();
var f= date.toLocaleTimeString();
var g=date.valueOf();
document.write(a+"<br/>"+b+"<br/>"+c+"<br/>"+d+"<br/>"+e+"<br/>"+f+"<br/>"+"<br/>"+g)
输出结果
Mon Aug 20 2018 17:21:31 GMT+0800 (中国标准时间)
Mon Aug 20 2018
17:21:31 GMT+0800 (中国标准时间)
2018/8/20 下午5:21:31
2018/8/20
下午5:21:31
1534756891760
五、Date 对象方法
通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。重点掌握蓝色字体的内容,其他了解即可。
常用方法
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getFullYear() 从 Date 对象以四位数字返回年份。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
var date=new Date();
var a=date.getDate();
var b=date.getDay();
var c=date.getHours();
var d= date.getMinutes();
var e=date.getMonth();
var f= date.getSeconds();
var g=date.getTime();
document.write(date+ a+"<br/>"+b+"<br/>"+c+"<br/>"+d+"<br/>"+e+"<br/>"+f+"<br/>"+"<br/>"+g)
输出结果
Mon Aug 20 2018 17:31:39 GMT+0800 (中国标准时间)
20
1
17
31
7
39
1534757499024
全部方法
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getFullYear() 从 Date 对象以四位数字返回年份。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差
getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。
getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setFullYear() 设置 Date 对象中的年份(四位数字)。
setHours() 设置 Date 对象中的小时 (0 ~ 23)。
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
setTime() setTime() 方法以毫秒设置 Date 对象。
setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCSeconds() setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。
toDateString() 把 Date 对象的日期部分转换为字符串。
toGMTString() 已废弃。请使用 toUTCString() 方法代替。
toISOString() 使用 ISO 标准返回字符串的日期格式。
toJSON() 以 JSON 数据格式返回日期字符串。
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。
toString() 把 Date 对象转换为字符串。
toTimeString() 把 Date 对象的时间部分转换为字符串。
toUTCString() 根据世界时,把 Date 对象转换为字符串。
UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
valueOf() 返回 Date 对象的原始值。