我是小又又,住在武汉,做了两年新媒体,准备用 6 个月时间转行前端。
今日学习目标
昨天主要是基于搜索来基础学习 Date 对象,今天准备学习一下Date实例对象的方法 ,又是适合学习的一天,加油,小又又!!!!
今日学习概要
对于日期实例方法进行整体了解
对于感兴趣的方法进行详细了解
注意对于
不建议
的方法和未标准实现
的方法从分类中会进行排除~~~
Getter(获取值)
获取基础日期值属性相关
方法名 | 具体说明 |
---|---|
Date.prototype.getDate() | 根据本地时间返回指定日期对象的月份中的第几天(1-31)。 |
Date.prototype.getDay() | 根据本地时间返回指定日期对象的星期中的第几天(0-6)。 |
Date.prototype.getFullYear() | 根据本地时间返回指定日期对象的年份(四位数年份时返回四位数字)。 |
Date.prototype.getHours() | 根据本地时间返回指定日期对象的小时(0-23)。 |
Date.prototype.getMilliseconds() | 根据本地时间返回指定日期对象的毫秒(0-999)。 |
Date.prototype.getMinutes() | 根据本地时间返回指定日期对象的分钟(0-59)。 |
Date.prototype.getMonth() | 根据本地时间返回指定日期对象的月份(0-11)。 |
Date.prototype.getSeconds() | 根据本地时间返回指定日期对象的秒数(0-59)。 |
获取特定日期相差值
方法名 | 具体说明 |
---|---|
Date.prototype.getTime() | 返回从 1970-1-1 00:00:00 UTC(协调世界时)到该日期经过的毫秒数,对于 1970-1-1 00:00:00 UTC 之前的时间返回负值。 |
Date.prototype.getTimezoneOffset() | 返回当前时区的时区偏移。 |
Date.prototype.getUTCDate() | 根据世界时返回特定日期对象一个月的第几天(1-31). |
Date.prototype.getUTCDay() | 根据世界时返回特定日期对象一个星期的第几天(0-6). |
Date.prototype.getUTCFullYear() | 根据世界时返回特定日期对象所在的年份(4 位数). |
Date.prototype.getUTCHours() | 根据世界时返回特定日期对象当前的小时(0-23). |
Date.prototype.getUTCMilliseconds() | 根据世界时返回特定日期对象的毫秒数(0-999). |
Date.prototype.getUTCMinutes() | 根据世界时返回特定日期对象的分钟数(0-59). |
Date.prototype.getUTCMonth() | 根据世界时返回特定日期对象的月份(0-11). |
Date.prototype.getUTCSeconds() | 根据世界时返回特定日期对象的秒数(0-59). |
Setter(设置值)
设置基础日期值属性相关
方法名 | 具体说明 |
---|---|
Date.prototype.setDate() | 根据本地时间为指定的日期对象设置月份中的第几天。 |
Date.prototype.setFullYear() | 根据本地时间为指定日期对象设置完整年份(四位数年份是四个数字)。 |
Date.prototype.setHours() | 根据本地时间为指定日期对象设置小时数。 |
Date.prototype.setMilliseconds() | 根据本地时间为指定日期对象设置毫秒数。 |
Date.prototype.setMinutes() | 根据本地时间为指定日期对象设置分钟数。 |
Date.prototype.setMonth() | 根据本地时间为指定日期对象设置月份。 |
Date.prototype.setSeconds() | 根据本地时间为指定日期对象设置秒数。 |
设置特定日期相差值
方法名 | 具体说明 |
---|---|
Date.prototype.setTime() | 通过指定从 1970-1-1 00:00:00 UTC 开始经过的毫秒数来设置日期对象的时间,对于早于 1970-1-1 00:00:00 UTC 的时间可使用负值。 |
Date.prototype.setUTCDate() | 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
Date.prototype.setUTCFullYear() | 根据世界时设置 Date 对象中的年份(四位数字)。 |
Date.prototype.setUTCHours() | 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
Date.prototype.setUTCMilliseconds() | 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
Date.prototype.setUTCMinutes() | 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
Date.prototype.setUTCMonth() | 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
Date.prototype.setUTCSeconds() | 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 |
Conversion getter(转换设置)
特有方法
方法名 | 具体说明 |
---|---|
Date.prototype.toDateString() | 以人类易读(human-readable)的形式返回该日期对象日期部分的字符串。 |
Date.prototype.toISOString() | 把一个日期转换为符合 ISO 8601 扩展格式的字符串。 |
Date.prototype.toJSON() | 使用 toISOString() 返回一个表示该日期的字符串。为了在 JSON.stringify() 方法中使用。 |
Date.prototype.toLocaleDateString() | 返回一个表示该日期对象日期部分的字符串,该字符串格式与系统设置的地区关联(locality sensitive)。 |
Date.prototype.toLocaleFormat() | 使用格式字符串将日期转换为字符串。 |
Date.prototype.toLocaleTimeString() | 返回一个表示该日期对象时间部分的字符串,该字符串格式与系统设置的地区关联(locality sensitive)。 |
Date.prototype.toTimeString() | 以人类易读格式返回日期对象时间部分的字符串。 |
Date.prototype.toUTCString() | 把一个日期对象转换为一个以 UTC 时区计时的字符串。 |
继承方法
方法名 | 具体说明 |
---|---|
Date.prototype.toLocaleString() | 返回一个表示该日期对象的字符串,该字符串与系统设置的地区关联(locality sensitive)。覆盖了 Object.prototype.toLocaleString() 方法。 |
Date.prototype.toSource() | 返回一个与 Date 等价的原始字符串对象,你可以使用这个值去生成一个新的对象。重写了 Object.prototype.toSource() 这个方法。 |
Date.prototype.toString() | 返回一个表示该日期对象的字符串。覆盖了 Object.prototype.toString() 方法。 |
Date.prototype.valueOf() | 返回一个日期对象的原始值。覆盖了 Object.prototype.valueOf() 方法。 |
Getter(获取值)
getDate()
基础语法
dateObj.getDate()
返回值说明
getDate()
返回一个1 到 31的整数值。
详细说明
根据本地时间,返回一个指定的日期对象为一个月中的哪一日(从1--31)。
案例
下面第二条语句将值25赋给 day 变量,该值基于日期对象 Xmax95的值。
var Xmas95 = new Date("December 25, 1995 23:15:00");
var day = Xmas95.getDate();
alert(day); // 25
getDay()
基础语法
dateObj.getDay()
返回值说明
根据本地时间,返回一个0到6之间的整数值,代表星期几: 0 代表星期日, 1 代表星期一,2 代表星期二, 依次类推。
详细说明
getDay()
方法根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天。对于某个月中的第几天,参考Date.prototype.getDate()
.
案例
基础案例
下面第二条语句,基于Date
对象 Xmas95
的值,把 1
赋值给 weekday
。也就是说1995年12月25日是星期一。
var Xmas95 = new Date("December 25, 1995 23:15:30");
var weekday = Xmas95.getDay();
console.log(weekday); // 1
结合
Intl.DateTimeFormat
可以使用Intl.DateTimeFormat
与一个额外的options
参数,从而返回这天的全称(如"Monday").使用此方法,结果会更加国际化
var Xmas95 = new Date("December 25, 1995 23:15:30");
var weekday = Xmas95.getDay();
var options = { weekday: 'long'};
console.log(new Intl.DateTimeFormat('en-US', options).format(Xmas95));
// Monday
console.log(new Intl.DateTimeFormat('de-DE', options).format(Xmas95));
// Montag
getFullYear()
基础语法
dateObj.getFullYear()
返回值说明
根据当地时间,返回一个对应于给定日期的年份数字。
详细说明
getFullYear()
方法根据本地时间返回指定日期的年份。
getFullYear()
返回的值是绝对数。 对于1000
到9999
之间的日期,getFullYear()
返回一个四位数字,如1995
。使用此函数确保在2000
年后兼容。
案例
下面的例子将当前年份的四位数值分配给变量year
。
var today = new Date();
var year = today.getFullYear();
getHours()
基础语法
dateObj.getHours()
返回值说明
getHours
返回一个0 到 23之间的整数值。
详细说明
getHours()
方法根据本地时间,返回一个指定的日期对象的小时。
案例
下面第二条语句,基于日期对象 Xmas95 的值,把 23 赋值给了变量 hours。
var Xmas95 = new Date("December 25, 1995 23:15:00");
var hours = Xmas95.getHours();
alert(hours); // 23
getMilliseconds()
基础语法
dateObj.getMilliseconds()
返回值说明
getMilliseconds()
方法,根据本地时间,返回一个指定的日期对象的毫秒数。
详细说明
getMilliseconds()
方法返回一个0 到 999的整数。
案例
下例中,将当前时间的毫秒数赋值给变量 ms。
var ms;
Today = new Date();
ms = Today.getMilliseconds();
getMinutes()
基础语法
dateObj.getMinutes()
返回值说明
getMinutes()
方法根据本地时间,返回一个指定的日期对象的分钟数。
详细说明
getMinutes
返回一个0 到 59的整数值。
案例
下例中,第二行语句运行过后,变量 minutes 的值为15,也就是说 Xmas95 这个日期对象的值为某时15分某秒。
var Xmas95 = new Date("December 25, 1995 23:15:00");
var minutes = Xmas95.getMinutes();
getMonth()
基础语法
dateObj.getMonth()
返回值说明
getMonth
返回一个0 到 11的整数值: 0 代表一月份,1 代表二月份, 2 代表三月份,依次类推。
详细说明
根据本地时间,返回一个指定的日期对象的月份,为基于0的值(0表示一年中的第一月)。
案例
下面第二条语句,基于 Date 对象 Xmas95 的值,把11赋值给变量 month。
var Xmas95 = new Date('December 25, 1995 23:15:30');
var month = Xmas95.getMonth();
console.log(month); // 11
getSeconds()
基础语法
dateObj.getSeconds()
返回值说明
该方法返回一个 0 到 59 的整数值。
详细说明
getSeconds()
方法根据本地时间,返回一个指定的日期对象的秒数。
案例
下面第二条语句,基于日期对象 Xmas95
的值,把 30
赋值给变量 secs
。
var Xmas95 = new Date("December 25, 1995 23:15:30");
var secs = Xmas95.getSeconds();
Setter(设置值)
setDate(dayValue)
基础语法
dateObj.setDate(dayValue)
参数说明
dayValue
一个整数,表示该月的第几天。
返回值说明
setDate()
方法根据本地时间来指定一个日期对象的天数。
详细说明
如果 dayValue
超出了月份的合理范围,setDate
将会相应地更新 Date
对象。
例如,如果为dayValue
指定0,那么日期就会被设置为上个月的最后一天。
如果dayValue
被设置为负数,日期会设置为上个月最后一天往前数这个负数绝对值天数后的日期。-1会设置为上月最后一天的前一天(译者注:例如当前为4月,如果setDate(-2),则为3月29日)
案例
下面第二条语句将值25赋给 day 变量,该值基于日期对象 Xmax95的值。
var theBigDay = new Date(1962, 6, 7); // 1962-07-07
theBigDay.setDate(24); // 1962-07-24
theBigDay.setDate(32); // 1962-08-01
setFullYear(yearValue[, monthValue[, dayValue]])
基础语法
dateObj.setFullYear(yearValue[, monthValue[, dayValue]])
参数说明
yearValue
指定年份的整数值,例如1995。
monthValue
一个0到11之间的整数值,表示从一月到十二月。
dayValue
一个1到31之间的整数值,表示月份中的第几天。如果你指定了 dayValue 参数,就必须同时指定 monthValue。
返回值说明
根据当地时间,返回一个对应于给定日期的年份数字。
详细说明
如果没有指定 monthValue
和dayValue
参数,将会使用getMonth
和getDate
方法的返回值。
如果有一个参数超出了合理的范围,setFullYear 方法会更新其他参数值,日期对象的日期值也会被相应更新。
例如,为 monthValue 指定 15, 则年份会加1,月份值会为3。
案例
var theBigDay = new Date();
theBigDay.setFullYear(1997);
setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
基础语法
dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
参数说明
hoursValue
一个 0 到 23 的整数,表示小时。
minutesValue
一个 0 到 59 的整数,表示分钟。
secondsValue
一个 0 到 59 的整数,表示秒数。如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数。
msValue
一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue 和 secondsValue 参数。
返回值说明
根据当地时间,返回一个对应于给定日期的年份数字。
详细说明
如果不指定 minutesValue
,secondsValue
和 msValue
参数,则会使用getMinutes()
,getSeconds()
和getMilliseconds()
方法的返回值。
如果有一个参数超出了合理范围,setHours
会相应地更新日期对象中的日期信息。例如,如果为secondsValue
指定了 100,则分钟会加 1,然后秒数使用 40。
案例
var theBigDay = new Date();
theBigDay.setHours(7);
今日学习总结
今日心情
今日主要是基于搜索来基础学习 Date 实例对象方法,主要是学习了日期对象的年月日时分秒获取和设置,印象比较深的就是在日期值设置的时候,如果传递的参数超出了合理范围,方法会相应地更新日期对象中的日期信息~~~~
希望明天学习到更多东西~~~~
本文使用 mdnice 排版