目录
- 1、Date实例
- 2、Date对象属性
- 3、Date对象方法
- 4、实例属性
- 5、实例方法
-
- 5.1、getDate()
- 5.2、getDay()
- 5.3、getFullYear()
- 5.4、getHours()
- 5.5、getMilliseconds()
- 5.6、getMinutes()
- 5.7、getMonth()
- 5.8、getSeconds()
- 5.9、getTime()
- 5.10、getTimezoneOffset()
- 5.11、getUTCDate()
- 5.12、getUTCDay()
- 5.13、getUTCFullYear()
- 5.14、getUTCHours()
- 5.15、getUTCMilliseconds()
- 5.16、getUTCMinutes()
- 5.17、getUTCMonth()
- 5.18、getUTCSeconds()
- 5.19、setDate()
- 5.20、setFullYear()
- 5.21、setHours()
- 5.22、setMilliseconds()
- 5.23、setMinutes()
- 5.24、setMonth()
- 5.25、setSeconds()
- 5.26、setTime()
- 5.27、setUTCDate()
- 5.28、setUTCFullYear()
- 5.29、setUTCHours()
- 5.30、setUTCMilliseconds()
- 5.31、setUTCMinutes()
- 5.32、setUTCMonth()
- 5.33、setUTCSeconds()
- 5.34、toDateString()
- 5.35、toISOString()
- 5.36、toJSON()
- 5.37、toLocaleDateString()
- 5.38、toLocaleString()
- 5.39、toLocaleTimeString()
- 5.40、toString()
- 5.41、toTimeString()
- 5.42、toUTCString()
- 5.43、valueOf()
- 后记
1、Date实例
创建一个 JavaScript Date 实例,该实例呈现时间中的某个时刻。Date 对象则基于 Unix Time Stamp
,即自 1970 年 1 月 1 日(UTC)起经过的毫秒数。
1.1、语法
new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
1.2、参数
1.2.1、没有参数
如果没有提供参数,那么新创建的 Date 对象表示现在的日期和时间。
1.2.2、一个参数
1.2.2.1、value
一个 Unix 时间戳(Unix Time Stamp),它是一个整数值,表示自 1970 年 1 月 1 日 00:00:00 UTC(the Unix epoch)以来的毫秒数,忽略了闰秒。请注意大多数 Unix 时间戳功能仅精确到最接近的秒。
1.2.2.2、dateString时间戳字符串
表示日期的字符串值。该字符串应该能被 Date.parse() 正确方法识别
1.2.3、大于1个参数
至少提供了年份与月份,没有提供的成员将使用最小可能值。
当 Date 作为构造函数调用并传入多个参数时,如果数值大于合理范围时(如月份为 13 或者分钟数为 70),相邻的数值会被调整。比如 new Date(2013, 13, 1) 等于 new Date(2014, 1, 1),它们都表示日期 2014-02-01(注意月份是从 0 开始的)
1.2.3.1、year
表示年份的整数值。 0 到 99 会被映射至 1900 年至 1999 年,其它值代表实际年份。
1.2.3.2、monthIndex
表示月份的整数值,从 0(1 月)到 11(12 月)。
1.2.3.3、date【可选】
表示一个月中的第几天的整数值,从 1 开始。默认值为 1。
1.2.3.4、hours 【可选】
表示一天中的小时数的整数值 (24 小时制)。默认值为 0(午夜)。
1.2.3.5、minutes 【可选】
表示一个完整时间(如 01:10:00)中的分钟部分的整数值。默认值为 0。
1.2.3.6、seconds 【可选】
表示一个完整时间(如 01:10:00)中的秒部分的整数值。默认值为 0。
1.2.3.7、milliseconds 【可选】
表示一个完整时间的毫秒部分的整数值。默认值为 0。
2、Date对象属性
2.1、Date.length
Date.length 的值是 7。这是该构造函数可接受的参数个数。
3、Date对象方法
3.1、Date.now()
3.1.1、概述
Date.now() 方法返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数。
3.1.2、语法
var timeInMs = Date.now();
3.1.3、返回值
一个 Number,表示自 UNIX 纪元开始(1970 年 1 月 1 日 00:00:00 (UTC))到当前时间的毫秒数。
3.1.4、向下兼容
if (!Date.now) {
Date.now = function now() {
return new Date().getTime();
};
}
3.2、Date.parse()
3.2.1、概述
Date.parse() 方法解析一个表示某个日期的字符串,并返回从 1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的 UTC 时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为 NaN。
3.2.2、语法
Date.parse(dateString)
3.2.3、参数
dateString:一个符合 RFC2822 或 ISO 8601 日期格式的字符串
3.2.4、返回值
一个表示从 1970-1-1 00:00:00 UTC 到给定日期字符串所表示时间的毫秒数的数值。如果参数不能解析为一个有效的日期,则返回NaN。
3.3、Date.UTC()
3.3.1、概述
Date.UTC() 方法接受的参数同日期构造函数接受最多参数时一样,返回从 1970-1-1 00:00:00 UTC 到指定日期的的毫秒数。
3.3.2、语法
Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])
3.3.3、参数
year:1900 年后的某一年份。
month:0 到 11 之间的一个整数,表示月份。
date:1 到 31 之间的一个整数,表示某月当中的第几天。
hrs:0 到 23 之间的一个整数,表示小时。
min:0 到 59 之间的一个整数,表示分钟。
sec:0 到 59 之间的一个整数,表示秒。
ms:0 到 999 之间的一个整数,表示毫秒。
4、实例属性
4.1、Date.prototype.constructor
返回创建了实例的构造函数,默认是 Date 构造函数。
5、实例方法
5.1、getDate()
5.1.1、概述
根据本地时间,返回一个指定的日期对象为一个月中的哪一日(从 1–31)。
天数
5.1.2、语法
dateObj.getDate()
5.1.3、返回值
返回一个 1 到 31 的整数值。
5.1.4、示例
var Xmas95 = new Date("December 25, 1995 23:15:00");
var day = Xmas95.getDate();
alert(day); // 25
5.2、getDay()
5.2.1、概述
getDay() 方法根据本地时间,返回一个具体日期中一周的第几天,0 表示星期天。
星期
5.2.2、语法
dateObj.getDay()
5.2.3、返回值
根据本地时间,返回一个 0 到 6 之间的整数值,代表星期几: 0 代表星期日, 1 代表星期一,2 代表星期二, 依次类推。
5.2.4、示例
var Xmas95 = new Date("December 25, 1995 23:15:30");
var weekday = Xmas95.getDay();
console.log(weekday); // 1
5.3、getFullYear()
5.3.1、概述
根据本地时间返回指定日期的年份。
5.3.2、语法
dateObj.getFullYear()
5.3.3、返回值
根据当地时间,返回一个对应于给定日期的年份数字。
5.3.4、示例
var today = new Date();
var year = today.getFullYear();
5.4、getHours()
5.4.1、概述
根据本地时间,返回一个指定的日期对象的小时。
5.4.2、语法
dateObj.getHours()
5.4.3、返回值
返回一个 0 到 23 之间的整数值。
5.4.4、示例
var Xmas95 = new Date("December 25, 1995 23:15:00");
var hours = Xmas95.getHours();
alert(hours); // 23
5.5、getMilliseconds()
5.5.1、概述
根据本地时间,返回一个指定的日期对象的毫秒数。
5.5.2、语法
dateObj.getMilliseconds()
5.5.3、返回值
返回一个 0 到 999 的整数。
5.5.4、示例
var ms;
Today = new Date();
ms = Today.getMilliseconds();
5.6、getMinutes()
5.6.1、概述
根据本地时间,返回一个指定的日期对象的分钟数。
5.6.2、语法
dateObj.getMinutes()
5.6.3、返回值
返回一个 0 到 59 的整数值。
5.6.4、示例
var Xmas95 = new Date("December 25, 1995 23:15:00");
var minutes = Xmas95.getMinutes();
5.7、getMonth()
5.7.1、概述
根据本地时间,返回一个指定的日期对象的月份,为基于 0 的值(0 表示一年中的第一月)。
5.7.2、语法
dateObj.getMonth()
5.7.3、返回值
返回一个 0 到 11 的整数值: 0 代表一月份,1 代表二月份, 2 代表三月份,依次类推。
5.7.4、示例
var Xmas95 = new Date("December 25, 1995 23:15:30");
var month = Xmas95.getMonth();
console.log(month); // 11
5.8、getSeconds()
5.8.1、概述
根据本地时间,返回一个指定的日期对象的秒数。
5.8.2、语法
dateObj.getSeconds()
5.8.3、返回值
该方法返回一个 0 到 59 的整数值。
5.8.4、示例
var Xmas95 = new Date("December 25, 1995 23:15:30");
var secs = Xmas95.getSeconds();
5.9、getTime()
5.9.1、概述
返回一个时间的格林威治时间数值。
功能和 valueOf() 方法一样。
5.9.2、语法
dateObj.getTime()
5.9.3、返回值
一个数值,表示从 1970 年 1 月 1 日 0 时 0 分 0 秒(UTC,即协调世界时)距离该日期对象所代表时间的毫秒数。
5.9.4、示例
var birthday = new Date(1991, 9, 17);
var copy = new Date();
copy.setTime(birthday.getTime());
5.10、getTimezoneOffset()
5.10.1、概述
返回协调世界时(UTC)相对于当前时区的时间差值,单位为分钟。
5.10.2、语法
dateObj.getTimezoneOffset()
5.10.3、返回值
时区偏差(time-zone offset)表示协调世界时(UTC)与本地时区之间的差值,单位为分钟。需要注意的是如果本地时区后于协调世界时,则该差值为正值,如果先于协调世界时则为负值。例如你所在时区为 UTC+10(澳大利亚东部标准时间),将会返回 -600。对于同一个时区,夏令时(Daylight Saving Time)将会改变这个值。
5.10.4、示例
var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
5.11、getUTCDate()
5.11.1、概述
以世界时为标准,返回一个指定的日期对象为一个月中的第几天
5.11.2、语法
dateObj.getUTCDate()
5.11.3、返回值
返回一个 1 到 31 的整数值
5.11.4、示例
var today = new Date();
var day = today.getUTCDate();
5.12、getUTCDay()
5.12.1、概述
以世界时为标准,返回一个指定的日期对象为一星期中的第几天,其中 0 代表星期天。
5.12.2、语法
dateObj.getUTCDay()
5.12.3、返回值
返回一个对应一星期中第几天的整数:0 代表星期天,1 代表星期一,2 代表星期二,依次类推。
5.12.4、示例
var today = new Date();
var weekday = today.getUTCDay();
5.13、getUTCFullYear()
5.13.1、概述
以世界时为标准,返回一个指定的日期对象的年份。
5.13.2、语法
dateObj.getUTCFullYear()
5.13.3、返回值
返回一个绝对数值,符合 Year-2000 标准,例如 1995。
5.13.4、示例
var today = new Date();
var year = today.getUTCFullYear();
5.14、getUTCHours()
5.14.1、概述
以世界时为标准,返回一个指定的日期对象的小时数。
5.14.2、语法
dateObj.getUTCHours()
5.14.3、返回值
返回一个 0 到 23 的整数。
5.14.4、示例
var today = new Date();
var hours = today.getUTCHours();
5.15、getUTCMilliseconds()
5.15.1、概述
以世界时为标准,返回一个指定的日期对象的毫秒数。
5.15.2、语法
dateObj.getUTCMilliseconds()
5.15.3、返回值
返回一个 0 到 999 的整数。
5.15.4、示例
var today = new Date();
var milliseconds = today.getUTCMilliseconds();
5.16、getUTCMinutes()
5.16.1、概述
以世界时为标准,返回一个指定的日期对象的分钟数。
5.16.2、语法
dateObj.getUTCMinutes()
5.16.3、返回值
返回一个 0 到 59 的整数。
5.16.4、示例
var today = new Date();
var minutes = today.getUTCMinutes();
5.17、getUTCMonth()
5.17.1、概述
以世界时为标准,返回一个指定的日期对象的月份,它是从 0 开始计数的(0 代表一年的第一个月)。
5.17.2、语法
dateObj.getUTCMonth()
5.17.3、示例
返回一个 0 到 11 的整数,分别对应以下月份:0 代表一月,1 代表二月,2 代表三月,依次类推。
5.17.4、示例
var today = new Date();
var month = today.getUTCMonth();
5.18、getUTCSeconds()
5.18.1、概述
以世界时为标准,返回一个指定的日期对象的秒数。
5.18.2、语法
dateObj.getUTCSeconds()
5.18.3、返回值
返回一个 0 到 59 的整数。
5.18.4、示例
var today = new Date();
var seconds = today.getUTCSeconds();
5.19、setDate()
5.19.1、概述
根据本地时间来指定一个日期对象的天数。
5.19.2、语法
dateObj.setDate(dayValue)
5.19.3、参数
dayValue:一个整数,表示该月的第几天。
如果 dayValue 超出了月份的合理范围,setDate 将会相应地更新 Date 对象。
如果 dayValue 被设置为负数,日期会设置为上个月最后一天往前数这个负数绝对值天数后的日期。-1 会设置为上月最后一天的前一天(译者注:例如当前为 4 月,如果 setDate(-2),则为 3 月 29 日)
5.19.4、示例
var theBigDay = new Date(1962, 6, 7); // 1962-07-07
theBigDay.setDate(24); // 1962-07-24
theBigDay.setDate(32); // 1962-08-01
5.20、setFullYear()
5.20.1、概述
根据本地时间为一个日期对象设置年份。
5.20.2、语法
dateObj.setFullYear(yearValue[, monthValue[, dayValue]])
5.20.3、参数
yearValue:指定年份的整数值,例如 1995。
monthValue:一个 0 到 11 之间的整数值,表示从一月到十二月。
dayValue:一个 1 到 31 之间的整数值,表示月份中的第几天。如果你指定了 dayValue 参数,就必须同时指定 monthValue。
如果没有指定 monthValue 和 dayValue 参数,将会使用 getMonth 和getDate 方法的返回值。
如果有一个参数超出了合理的范围,setFullYear 方法会更新其他参数值,日期对象的日期值也会被相应更新。
5.20.4、示例
var theBigDay = new Date();
theBigDay.setFullYear(1997);
5.21、setHours()
5.21.1、概述
根据本地时间为一个日期对象设置小时数,返回从 1970-01-01 00:00:00 UTC 到更新后的 日期 对象实例所表示时间的毫秒数。
5.21.2、语法
dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
JavaScript 1.3 版本之前
dateObj.setHours(hoursValue)
5.21.3、参数
hoursValue:一个 0 到 23 的整数,表示小时。
minutesValue:一个 0 到 59 的整数,表示分钟。
secondsValue:一个 0 到 59 的整数,表示秒数。如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数。
msValue:一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue 和 secondsValue 参数。
如果不指定 minutesValue,secondsValue 和 msValue 参数,则会使用getMinutes(),getSeconds() 和getMilliseconds() 方法的返回值。
如果有一个参数超出了合理范围,setHours 会相应地更新日期对象中的日期信息。
5.21.4、示例
var theBigDay = new Date();
theBigDay.setHours(7);
5.22、setMilliseconds()
5.22.1、概述
根据本地时间设置一个日期对象的豪秒数。
5.22.2、语法
dateObj.setMilliseconds(millisecondsValue)
5.22.3、参数
millisecondsValue:一个 0 到 999 的数字,表示豪秒数。
如果指定的数字超出了合理范围,则日期对象的时间信息会被相应地更新。
5.22.4、示例
var theBigDay = new Date();
theBigDay.setMilliseconds(100);
5.23、setMinutes()
5.23.1、概述
根据本地时间为一个日期对象设置分钟数。
5.23.2、语法
dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
JavaScript 1.3 之前版本
dateObj.setMinutes(minutesValue)
5.23.3、语法
minutesValue:一个 0 到 59 的整数,表示分钟数。
secondsValue:一个 0 到 59 的整数,表示秒数。如果指定了 secondsValue 参数,则必须同时指定 minutesValue 参数。
msValue:一个 0 到 999 的数字,表示微秒数,如果指定了 msValue 参数,则必须同时指定 minutesValue 和secondsValue 参数。
如果没有指定 secondsValue 和 msValue 参数,就会使用 getSeconds() 和 getmilliseconds() 方法的返回值。
如果有一个指定的参数超出了合理范围,setMinutes 会相应地更新日期对象中的时间信息。
5.23.4、示例
var theBigDay = new Date();
theBigDay.setMinutes(45);
5.24、setMonth()
5.24.1、概述
根据本地时间为一个日期对象设置月份。
5.24.2、语法
dateObj.setMonth(monthValue[, dayValue])
JavaScript 1.3 版本之前
dateObj.setMonth(monthValue)
5.24.3、参数
monthValue:介于 0 到 11 之间的整数(表示一月到十二月)。
dayValue:从 1 到 31 之间的整数,表示月份中的第几天。0 为上个月最后一天
如果不指定 dayValue 参数,就会使用 getDate 方法的返回值。
如果有一个指定的参数超出了合理范围,setMonth 会相应地更新日期对象中的日期信息。
5.24.4、返回值
基于 1 January 1970 00:00:00 UTC 开始计算的毫秒数
5.24.5、示例
var theBigDay = new Date();
theBigDay.setMonth(6);
5.25、setSeconds()
5.25.1、概述
根据本地时间设置一个日期对象的秒数。
5.25.2、语法
dateObj.setSeconds(secondsValue[, msValue])
JavaScript 1.3 之前版本
dateObj.setSeconds(secondsValue)
5.25.3、参数
secondsValue:一个 0 到 59 的整数。
msValue:一个 0 到 999 的数字,表示微秒数。
如果没有指定 msValue 参数,就会使用 getMilliseconds() 方法的返回值。
如果一个参数超出了合理范围, setSeconds 方法会相应地更新日期对象的时间信息。
5.25.4、示例
var theBigDay = new Date();
theBigDay.setSeconds(30)
5.26、setTime()
5.26.1、概述
以一个表示从 1970-1-1 00:00:00 UTC 计时的毫秒数为来为 Date 对象设置时间。
5.26.2、语法
dateObj.setTime(timeValue)
5.26.3、参数
timeValue:一个整数,表示从 1970-1-1 00:00:00 UTC 开始计时的毫秒数。
使用 setTime 方法用来把一个日期时间赋值给另一个 Date 对象。
5.26.4、返回值
UTC 1970 年 1 月 1 日 00:00:00 与更新日期之间的毫秒数(实际上是自变量的值)。
5.26.5、示例
theBigDay = new Date("July 1, 1999");
sameAsBigDay = new Date();
sameAsBigDay.setTime(theBigDay.getTime());
5.27、setUTCDate()
5.27.1、概述
根据全球时间设置特定 date 对象的日期。
5.27.2、语法
dateObj.setUTCDate(dayValue)
5.27.3、参数
dayValue:一个 1-31 的整形数字,用来指定日期。
如果你指定的参数超出了范围,setUTCDate() 会尝试更新对应的Date 中的日期信息。
5.27.4、示例
var theBigDay = new Date();
theBigDay.setUTCDate(20);
5.28、setUTCFullYear()
5.28.1、概述
根据世界标准时间为一个具体日期设置年份。
5.28.2、语法
dateObj.setUTCFullYear(yearValue[, monthValue[, dayValue]])
5.28.3、参数
yearValue:指定年份整数值,例如,1995
monthValue:可选。指定一个 0-11 之间的整数值,代表从一月到十二月。
dayValue:可选。指定一个 1-31 之间的整数值,代表月份中的第几天。如果你指定了 dayValue 参数,那么你必须指定 monthValue 参数。
如果你没有指定具体的 monthValue 和 dayValue,将会使用 getUTCMonth 和 getUTCDate 方法的返回值。
如果你指定的参数超出了期待范围,setUTCFullYear() 方法将会根据 Date 对象,更新其他参数和日期信息。
5.28.4、示例
var theBigDay = new Date();
theBigDay.setUTCFullYear(1997);
5.29、setUTCHours()
5.29.1、概述
根据通用时间设置指定日期的小时数,并返回从1970年1月1日00:00:00 UTC到更新的date实例所表示的时间的毫秒数。
5.29.2、语法
dateObj.setUTCHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
5.29.3、参数
hoursValue:表示小时的整数,取值 0 到 23 之间。
minutesValue:可选参数。表示分钟的整数,取值 0 到 59 之间。
secondsValue:可选参数。表示秒数的整数,取值 0 到 59 之间。如果指定了该参数,就要同时指定minutesValue 这个参数。
msValue:可选参数。表示毫秒的整数,取值 0 到 999 之间。如果指定了该参数,就要指定minutesValue 和 secondsValue 这两个参数。
如果不指定 minutesValue,secondsValue 和 msValue 参数,则会使用getMinutes(),getSeconds() 和getMilliseconds() 方法的返回值。
如果有一个参数超出了合理范围,setUTCHours 会相应地更新日期对象中的日期信息。
5.29.4、返回值
返回从 1970-01-01 00:00:00 UTC 到更新后的日期所表示时间的毫秒数。
5.29.5、示例
var theBigDay = new Date();
theBigDay.setUTCHours(8);
5.30、setUTCMilliseconds()
5.30.1、概述
根据世界时来设置指定时间的毫秒数。
5.30.2、语法
dateObj.setUTCMilliseconds(millisecondsValue)
5.30.3、参数
millisecondsValue:0 - 999 之间的数值,代表毫秒数。
如果传递的参数超出了指定的范围,setUTCMilliseconds() 方法会相应地尝试更新储存在 Date 的时间信息。
5.30.4、返回值
返回更新后的时间距 1970 年 1 月 1 日 00:00:00 (UTC) 的毫秒数。
5.30.5、示例
var theBigDay = new Date();
theBigDay.setUTCMilliseconds(500);
5.31、setUTCMinutes()
5.31.1、概述
根据世界协调时(UTC)来设置指定日期的分钟数。
5.31.2、语法
dateObj.setUTCMinutes(minutesValue[, secondsValue[, msValue]])
5.13.3、参数
minutesValue:必填,表示要设置的分钟数,是一个介于 0 和 59 之间的整数。
secondsValue:可选参数,表示要设置的秒数,同样也是一个介于 0 和 59 之间的整数,如果你传入了这个参数,那么你就必须要传入上一个参数(minutesValue)。
msValue:可选参数,表示要设置的毫秒数,这是一个介于 0 和 999 之间的数字,如果你传入了这个参数,那么你就必须要传入前面两个参数(minutesValue和secondsValue)。
5.31.4、返回值
返回从 UTC 时间 1970 年 1 月 1 日 0 时 0 分 0 秒至设置后的时间的毫秒数。
如果你没有传入后两个参数(minutesValue和msValue),这两个参数会分别使用getUTCSeconds()和getUTCMilliseconds()这两个方法返回的值。
如果你传入的参数值在上文所述范围之外的话,setUTCMinutes()方法会尝试修改日期对象中的其他信息。
5.31.5、示例
var theBigDay = new Date();
theBigDay.setUTCMinutes(43);
5.32、setUTCMonth()
5.32.1、概述
根据通用的时间来设置一个准确的月份。
5.32.2、语法
dateObj.setUTCMonth(monthValue[, dayValue])
5.32.3、参数
monthValue:一个 0-11 的整数,代表 1 月到 12 月。
dayValue:可选参数:一个 1-31 的整数,代表一个月的天数。
如果你没有明确书写dayValue 这个参数,那么就会从getUTCDate() 方法返回对应的数值。
如果你写了一个超过在规定的范围内的参数. setUTCMonth() 就会试图相应的更新时间信息在 Data 对象中。
5.32.4、返回值
这个数值是从 1970 年 1 月 1 号 00:00:00 到当前时间的毫秒数(国际通用时间)
5.32.5、示例
var theBigDay = new Date();
theBigDay.setUTCMonth(11);
5.33、setUTCSeconds()
5.33.1、概述
为一个依据国际通用时间的特定日期设置秒数。
5.33.2、语法
dateObj.setUTCSeconds(secondsValue[, msValue])
5.33.3、参数
secondsValue:一个在 0 到 59 之间的整数,表示秒数。
msValue:可选参数。一个 0 到 999 之间的数字,代表毫秒数。
如果你没有设置 msValue 参数的值, 那么返回的值来自getUTCMilliseconds() 方法。
如果你指定的值超出了范围,setUTCSeconds() 因此会更新Date 对象中 date 的相关信息 .
5.33.4、返回值
一个毫秒数,表示从国际通用时间 1970 年 00:00:00 到设置的时间值之间的时间跨度。
5.33.5、示例
var theBigDay = new Date();
theBigDay.setUTCSeconds(20);
5.34、toDateString()
5.34.1、概述
以美式英语和人类易读的形式返回一个日期对象日期部分的字符串。
5.34.2、语法
dateObj.toDateString()
5.34.3、描述
Date 对象实例引用一个具体的时间点。调用 toString 方法会以美式英语和人类易读的形式返回日期对象的格式化字符串。在 SpiderMonkey 里,该字符串由日期部分(年月日)和其后的时间部分(时分秒及时区)组成。有时需要获取日期部分的字符串,这可以由 toDateString 方法完成。
5.34.4、示例
var d = new Date(1993, 6, 28, 14, 39, 7);
println(d.toString()); // prints Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
println(d.toDateString()); // prints Wed Jul 28 1993
5.35、toISOString()
5.35.1、概述
返回一个 ISO(ISO 8601 Extended Format)格式的字符串: YYYY-MM-DDTHH:mm:ss.sssZ。时区总是 UTC(协调世界时),加一个后缀“Z”标识。
5.35.2、语法
dateObj.toISOString()
5.35.3、示例
var today = new Date("05 October 2011 14:48 UTC");
alert(today.toISOString()); // 返回 2011-10-05T14:48:00.000Z
5.35.4、向下兼容
if (!Date.prototype.toISOString) {
(function () {
function pad(number) {
if (number < 10) {
return "0" + number;
}
return number;
}
Date.prototype.toISOString = function () {
return this.getUTCFullYear() + "-" + pad(this.getUTCMonth() + 1) + "-" + pad(this.getUTCDate()) + "T" + pad(this.getUTCHours()) + ":" + pad(this.getUTCMinutes()) + ":" + pad(this.getUTCSeconds()) + "." + (this.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + "Z";
};
})();
}
5.36、toJSON()
5.36.1、概述
返回 Date 对象的字符串形式。
5.36.2、语法
dateObj.toJSON()
5.36.3、描述
Date 实例引用一个具体的时间点。 调用 toJSON() 返回一个 JSON 格式字符串 (使用 toISOString()),表示该日期对象的值。默认情况下,这个方法常用于 JSON序列化Date对象。
5.36.4、示例
var date = new Date();
console.log(date); //Thu Nov 09 2017 18:54:04 GMT+0800 (中国标准时间)
var jsonDate = date.toJSON();
console.log(jsonDate); //"2017-11-09T10:51:11.395Z"
var backToDate = new Date(jsonDate);
console.log(backToDate); //Thu Nov 09 2017 18:54:04 GMT+0800 (中国标准时间)
5.37、toLocaleDateString()
5.37.1、概述
返回该日期对象日期部分的字符串,该字符串格式因不同语言而不同。新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则,允许定制该方法的表现(behavior)。在旧版本浏览器中, locales 和 options 参数被忽略,使用的语言环境和返回的字符串格式是各自独立实现的。
5.37.2、语法
dateObj.toLocaleDateString([locales [, options]])
5.37.3、示例
没有指定语言环境(locale)时,返回一个使用默认语言环境和格式设置(options)的格式化字符串。
var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
// toLocaleDateString without arguments depends on the implementation,
// the default locale, and the default time zone
date.toLocaleDateString();
// → "12/11/2012" if run in en-US locale with time zone America/Los_Angeles
5.37.3.1、例子:检测 locales 和 options 参数支持情况
locales 和 options 参数不是所有的浏览器都支持。为了检测一种实现环境(implementation)是否支持它们,可以使用不合法的语言标签,如果实现环境支持该参数,则会抛出一个 RangeError 异常,反之会忽略参数。
function toLocaleDateStringSupportsLocales() {
try {
new Date().toLocaleDateString("i");
} catch (e) {
return e.name === "RangeError";
}
return false;
}
5.37.3.2、例子:使用locales
下例展示了本地化日期格式的一些变化。为了在应用的用户界面得到某种语言的日期格式,必须确保使用 locales 参数指定了该语言(可能还需要设置某些回退语言)。
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// formats below assume the local time zone of the locale;
// America/Los_Angeles for the US
// US English uses month-day-year order
alert(date.toLocaleDateString("en-US"));
// → "12/19/2012"
// British English uses day-month-year order
alert(date.toLocaleDateString("en-GB"));
// → "20/12/2012"
// Korean uses year-month-day order
alert(date.toLocaleDateString("ko-KR"));
// → "2012. 12. 20."
// Arabic in most Arabic speaking countries uses real Arabic digits
alert(date.toLocaleDateString("ar-EG"));
// → "٢٠/١٢/٢٠١٢"
// for Japanese, applications may want to use the Japanese calendar,
// where 2012 was the year 24 of the Heisei era
alert(date.toLocaleDateString("ja-JP-u-ca-japanese"));
// → "24/12/20"
// when requesting a language that may not be supported, such as
// Balinese, include a fallback language, in this case Indonesian
alert(date.toLocaleDateString(["ban", "id"]));
// → "20/12/2012"
5.37.3.3、例子:使用options
可以使用 options 参数来自定义 toLocaleDateString 方法返回的字符串。
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// request a weekday along with a long date
var options = {
weekday: "long", year: "numeric", month: "long", day: "numeric" };
alert(date.toLocaleDateString("de-DE", options));
// → "Donnerstag, 20. Dezember 2012"
// an application may want to use UTC and make that visible
options.timeZone = "UTC";
options.timeZoneName = "short";
alert(date.toLocaleDateString("en-US", options));
// → "Thursday, December 20, 2012, GMT"
5.37.4、性能
当格式化大量日期时,最好创建一个 Intl.DateTimeFormat 对象,然后使用该对象 format 属性提供的方法。
5.38、toLocaleString()
5.38.1、概述
返回该日期对象的字符串,该字符串格式因不同语言而不同。新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则,允许定制该方法的表现(behavior)。在旧版本浏览器中, locales 和 options 参数被忽略,使用的语言环境和返回的字符串格式是各自独立实现的。
5.38.2、语法
dateObj.toLocaleString([locales [, options]])
5.38.3、返回值
根据当地语言规定返回代表着时间的字符串。
5.38.4、示例
没有指定语言环境(locale)时,返回一个使用默认语言环境和格式设置(options)的格式化字符串。
var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
// toLocaleString 不包含参数的返回值取决于实现,
// 默认的区域 (locale),和默认的时区 (time zone)
date.toLocaleString();
// → 如果是在 en-US 区域和 America/Los_Angeles 时区运行返回值为"12/11/2012, 7:00:00 PM"
5.38.4.1、例子:检测 locales 和 options 参数支持情况
locales 和 options 参数不是所有的浏览器都支持。为了检测一种实现环境(implementation)是否支持它们,可以使用不合法的语言标签,如果实现环境支持该参数,则会抛出一个 RangeError 异常,反之会忽略参数。
function toLocaleStringSupportsLocales() {
try {
new Date().toLocaleString("i");
} catch (e) {
return e.name === "RangeError";
}
return false;
}
5.38.4.2、例子:使用 locales 参数
下例展示了本地化日期格式的一些变化。为了在应用的用户界面得到某种语言的日期和时间格式,必须确保使用 locales 参数指定了该语言(可能还需要设置某些回退语言)。
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
//假定本地时区是 America/Los_Angeles(美国时区)
//en-US(美利坚英语) 使用 month-day-year 的顺序展示年月日
alert(date.toLocaleString("en-US"));
// → "12/19/2012, 7:00:00 PM"
// en-GB(不列颠英语) 使用 day-month-year 顺序展示年月日
alert(date.toLocaleString("en-GB"));
// → "20/12/2012 03:00:00"
// 韩语使用 year-month-day 顺序展示年月日
alert(date.toLocaleString("ko-KR"));
// → "2012. 12. 20. 오후 12:00:00"
// 大多数阿拉伯语国家的阿拉伯语使用阿拉伯数字
alert(date.toLocaleString("ar-EG"));
// → "٢٠/١٢/٢٠١٢ ٥:٠٠:٠٠ ص"
//在日本,应用可能想要使用日本日历,
//2012 是平成 24 年(平成是是日本天皇明仁的年号,由 1989 年 1 月 8 日起开始计算直至现在)
alert(date.toLocaleString("ja-JP-u-ca-japanese"));
// → "24/12/20 12:00:00"
//当请求一个语言可能不支持,如巴厘 (ban),若有备用的语言印尼语 (id),
//那么将使用印尼语 (id)
alert(date.toLocaleString(["ban", "id"]));
// → "20/12/2012 11.00.00"
5.38.4.3、例子:使用 options 参数
可以使用 options 参数来自定义 toLocaleString 方法返回的字符串。
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
//请求参数 (options) 中包含参数星期 (weekday),并且该参数的值为长类型 (long)
var options = {
weekday: "long", year: "numeric", month: "long", day: "numeric" };
alert(date.toLocaleString("de-DE", options));
// → "Donnerstag, 20. Dezember 2012"
//一个应用使用 世界标准时间 (UTC),并且 UTC 使用短名字 (short) 展示
options.timeZone = "UTC";
options.timeZoneName = "short"; //若不写这一行那么仍然显示的是世界标准时间;但是 GMT 三个字母不会显示
alert(date.toLocaleString("en-US", options));
// → "Thursday, December 20, 2012, GMT"
// 使用 24 小时制
alert(date.toLocaleString("en-US", {
hour12: false }));
// → "12/19/2012, 19:00:00"
5.38.5、性能
当格式化大量日期时,最好创建一个 Intl.DateTimeFormat 对象,然后使用该对象 format 属性提供的方法。
5.39、toLocaleTimeString()
5.39.1、概述
返回该日期对象时间部分的字符串,该字符串格式因不同语言而不同。新增的参数 locales 和 options 使程序能够指定使用哪种语言格式化规则,允许定制该方法的表现(behavior)。在旧版本浏览器中, locales 和 options 参数被忽略,使用的语言环境和返回的字符串格式是各自独立实现的。
5.39.2、语法
dateObj.toLocaleTimeString([locales [, options]])
5.39.3、示例
没有指定语言环境(locale)时,返回一个使用默认语言环境和格式设置(options)的格式化字符串。
var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
// toLocaleTimeString without arguments depends on the implementation,
// the default locale, and the default time zone
alert(date.toLocaleTimeString());
// → "7:00:00 PM" if run in en-US locale with time zone America/Los_Angeles
5.39.3.1、例子:检测 locales 和 options 支持情况
locales 和 options 参数不是所有的浏览器都支持。为了检测一种实现环境(implementation)是否支持它们,可以使用不合法的语言标签,如果实现环境支持该参数,则会抛出一个 RangeError 异常,反之会忽略参数。
function toLocaleTimeStringSupportsLocales() {
try {
new Date().toLocaleTimeString("i");
} catch (e) {
return e.name === "RangeError";
}
return false;
}
5.39.3.2、例子:使用 locales 参数
下例展示了本地化时间格式的一些变化。为了在应用的用户界面得到某种语言的时间格式,必须确保使用 locales 参数指定了该语言(可能还需要设置某些回退语言)。
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// formats below assume the local time zone of the locale;
// America/Los_Angeles for the US
// US English uses 12-hour time with AM/PM
alert(date.toLocaleTimeString("en-US"));
// → "7:00:00 PM"
// British English uses 24-hour time without AM/PM
alert(date.toLocaleTimeString("en-GB"));
// → "03:00:00"
// Korean uses 12-hour time with AM/PM
alert(date.toLocaleTimeString("ko-KR"));
// → "오후 12:00:00"
// Arabic in most Arabic speaking countries uses real Arabic digits
alert(date.toLocaleTimeString("ar-EG"));
// → "٧:٠٠:٠٠ م"
// when requesting a language that may not be supported, such as
// Balinese, include a fallback language, in this case Indonesian
alert(date.toLocaleTimeString(["ban", "id"]));
// → "11.00.00"
5.39.3.3、例子:使用 options 参数
可以使用 options 参数来自定义 toLocaleTimeString 方法返回的字符串。
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// an application may want to use UTC and make that visible
var options = {
timeZone: "UTC", timeZoneName: "short" };
alert(date.toLocaleTimeString("en-US", options));
// → "3:00:00 AM GMT"
// sometimes even the US needs 24-hour time
alert(date.toLocaleTimeString("en-US", {
hour12: false }));
// → "19:00:00"
5.39.4、性能
当格式化大量日期时,最好创建一个 Intl.DateTimeFormat 对象,然后使用该对象 format 属性提供的方法。
5.40、toString()
5.40.1、概述
返回一个字符串,表示该Date对象。
5.40.2、语法
dateObj.toString()
5.40.3、返回值
该 toString 方法总是返回一个美式英语日期格式的字符串。
当一个日期对象被用来作为文本值或用来进行字符串连接时,toString 方法会被自动调用。
toString() 是通用函数。如果不是Date实例,则 返回"Invalid Date"。
5.40.4、示例
var x = new Date();
myVar = x.toString(); // 把类似于下面格式的值赋给 myVar,
// Fri Apr 26 2019 11:46:17 GMT+0800 (中国标准时间)
5.41、toTimeString()
5.41.1、概述
以人类易读形式返回一个日期对象时间部分的字符串,该字符串以美式英语格式化。
5.41.2、语法
dateObj.toTimeString()
5.41.3、示例
var d = new Date(1993, 6, 28, 14, 39, 7);
println(d.toString()); // prints Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
println(d.toTimeString()); // prints 14:39:07 GMT-0600 (PDT)
5.42、toUTCString()
5.42.1、概述
把一个日期转换为一个字符串,使用 UTC 时区。
5.42.2、语法
dateObj.toUTCString()
5.42.3、返回值
返回使用 UTC 时区表示给定日期的字符串,返回值的格式可能随平台而变化。通常返回值是一个 RFC-1123 格式的时间戳,这是一个 RFC-822 时间戳的小幅更新版。
5.42.4、示例
var today = new Date();
var UTCstring = today.toUTCString();
// Mon, 03 Jul 2006 21:44:38 GMT
5.43、valueOf()
5.43.1、概述
返回一个 Date 对象的原始值。
5.43.2、语法
dateObj.valueOf()
5.43.3、返回值
从 1970 年 1 月 1 日 0 时 0 分 0 秒(UTC,即协调世界时)到该日期的毫秒数。
该方法通常在 JavaScript 内部被调用,而不是在代码中显式调用。
5.43.4、示例
var x = new Date(56, 6, 17);
var myVar = x.valueOf(); // assigns -424713600000 to myVar
后记
如果你感觉文章不咋地
//(ㄒoㄒ)//
,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※
!!!