Javascript时间日期对象Date提供了十分方便的日期、时间构造方法,以及相当全面的获取、设置具体时间单位的值的方法。
构造方法
Javascript可以使用以下方法来构造一个时间日期对象:
1 2 3 4 5 6 7 8 9 10 11 12 13
| //获取当前时间
var d = new Date();
//从1970年1月1日0时起的毫秒数
var d = new Date(milliseconds);
//时间日期字符串:"2019-12-14",或者"2019-12-14 13:23:41"
//支持的日期格式有:年-月-日、年/月/日、月-日-年、月/日/年
var d = new Date(dateString);
//按顺序依次输入年、月、日、时、分、秒、毫秒参数
//至少要输入year、month两个参数,后面的都是可选
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds); |
常用取值、设值方法
Date对象提供了getFullYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getMilliseconds()七个方法来分别获取年、月(0-11)、日(1-31)、时(0-23)、分(0-59)、秒(0-59)、毫秒(0-999)的值,以及getDay()方法获取星期几(0-6)。
同时,提供了带UTC的八个方法getUTCFullYear()、getUTCMonth()、getUTCDate()、getUTCHours()、getUTCMinutes()、getUTCSeconds()、getUTCMilliseconds()、getUTCDay()用于获取世界时的年、月、日、时、分、秒、毫秒和星期几。
当然也提供了对应的set方法(除了星期几不能设置):setFullYear()、setMonth()、setDate()、setHours()、setMinutes()、setSeconds()、setMilliseconds(),setUTCFullYear()、setUTCMonth()、setUTCDate()、setUTCHours()、setUTCMinutes()、setUTCSeconds()、setUTCMilliseconds()。
另外,还有可以把时间转换为1970年1月1日起始的毫秒数(以下简称毫秒数)的方法getTime(),相应的方法UTC()则是根据世界时返回毫秒数。perse()方法可以把指定的时间日期字符串转换成毫秒数。
使用get、set方法,可以很方便的获取某个日期的前一天、后一天,当然,前一月、后一月,前几天、后几天,前几秒、后几秒,前几年、后几年,都是一样的道理。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| var dt = new Date();
//设置日期为下一天,时分秒等不变
dt = dt.setDate(dt.getDate() + 1);
//设置月份为上一月,如果date值大于当前月最大值,多出来的天数会变成当前月份的date值
//比如当前日期是2019-03-03,执行后就变成2019-02-03
//比如当前日期是2019-03-31,执行后就变成2019-03-03
dt = dt.setMonth(dt.getMonth() - 1);
//设置年份为十年后,也有例外情况,闰年的2月29日,增减年份到非闰年,会变成3月1日
dt = dt.setFullYear(dt.getFullYear() + 10);
//设置时间为50秒后
dt = dt.setSeconds(dt.getSeconds() + 50); |
Date对象会自动处理超出范围的数据,使用起来非常方便。
常用转换字符串方法
toDateString() 把 Date 对象的日期部分转换为字符串。
toISOString() 使用 ISO 标准返回字符串的日期格式。
toJSON() 以 JSON 数据格式返回日期字符串。
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。
toString() 把 Date 对象转换为字符串。
toTimeString() 把 Date 对象的时间部分转换为字符串。
toUTCString() 根据世界时,把 Date 对象转换为字符串。