一、基本引用类型
1.Date
-
01-date-method.js
/* * ECMAScript 的Date 类型参考了Java 早期版本中的java.util.Date。为此,Date 类型将日期 保存为自协调世界时(UTC,Universal Time Coordinated)时间1970 年1 月1 日午夜(零时)至今所 经过的毫秒数。使用这种存储格式,Date 类型可以精确表示1970 年1 月1 日之前及之后285 616 年的 日期 * */ // let now = new Date() // console.log(now) /*在不给Date 构造函数传参数的情况下,创建的对象将保存当前日期和时间。要基于其他日期和时 间创建日期对象,必须传入其毫秒表示(UNIX 纪元1970 年1 月1 日午夜之后的毫秒数)。ECMAScript 为此提供了两个辅助方法:Date.parse()和Date.UTC()。*/ // Date.parse() // 参数形式 // 1."月/日/年" let date1 = new Date(Date.parse('3/29/1994')) // console.log(date1) // 2."月名 日, 年" let date2 = new Date(Date.parse('March 29, 1994')) // console.log(date2) // 3."周几 月名 日 年 时:分:秒 时区" let date3 = new Date(Date.parse('Tue March 29 1994 03:00:00 GMT-0700')) // console.log(date3) // 4."YYYY-MM-DDTHH:mm:sssZ" let date4 = new Date(Date.parse('2019-05-23T00:00:00')) // console.log(date4) // new Date()中如果传入的字符串参数不表示日期,则返回Invalid Date; // 如果传入的字符串参数表示日期,则Date会在后台调用Date.parse() let date5 = new Date('error date') // console.log(date5) let date6 = new Date('2020-02-23') // console.log(date6) let date7 = new Date(Date.parse('2020-02-23')) // console.log(date7) // date6于date7返回值相同 // Date.UTC()返回日期的毫秒表示,参数为年、零起点月数(1 月是0,2 月是1,以此类推)、日(1~31)、时(0~23)、 // 分、秒和毫秒,其中年月必需,其余非必需,默认为0 // GMT 时间2020年1月1日零点 let y2k = new Date(Date.UTC(2020, 0)) // console.log(y2k) let allFives = new Date(Date.UTC(2020, 3, 29, 17, 45, 35)) // console.log(allFives) // Date.UTC()隐式调用,在创建本地日期时可隐式调用 // 本地时间2000年1月1日零点 let y2k2 = new Date(2000, 0) // console.log(y2k2) let allFives2 = new Date(2005, 4, 5, 17, 55, 55) // console.log(allFives2) // Date.now() // 起始时间 let start = Date.now() // 调用函数 console.log('do something') // 结束时间 let stop = Date.now() let result = stop - start console.log(result)
-
02-inherit-method.js
// 继承的方法 // 1.toLocaleString() let date1 = new Date() console.log(date1.toLocaleDateString()) // 2021/2/23 // 2.toString() let date2 = new Date() console.log(date2.toString()) // Tue Feb 23 2021 10:52:29 GMT+0800 (中国标准时间) // 3.valueOf()不返回字符串 let date3 = new Date(2020, 0, 1) let date4 = new Date(2020, 1, 1) console.log(date3 > date4) // false console.log(date3 < date4) // true
-
03-date-format-method.js
// 日期格式化方法 let date = new Date() // toDateString()显示日期中的周几、月、日、年(格式特定于实现); console.log(date.toDateString()) // Tue Feb 23 2021 // toTimeString()显示日期中的时、分、秒和时区(格式特定于实现); console.log(date.toTimeString()) // 10:56:19 GMT+0800 (中国标准时间) // toLocaleDateString()显示日期中的周几、月、日、年(格式特定于实现和地区); console.log(date.toLocaleDateString()) // 2021/2/23 // toLocaleTimeString()显示日期中的时、分、秒(格式特定于实现和地区); console.log(date.toLocaleTimeString()) // 上午10:57:08 // toUTCString()显示完整的UTC 日期(格式特定于实现)。 console.log(date.toUTCString()) // Tue, 23 Feb 2021 02:57:28 GMT
-
04-date-module-method.js
// 日期/时间组件方法 let date = new Date(2005, 4, 5, 17, 55, 55) // getTime() 返回日期的毫秒表示;与valueOf()相同 console.log(date.getTime()) console.log(date.valueOf()) // setTime(milliseconds) 设置日期的毫秒表示,从而修改整个日期 console.log(date) date.setTime(1125286955000) console.log(date) // getFullYear() 返回4 位数年(即2019 而不是19) console.log(date.getFullYear()) // getUTCFullYear() 返回UTC 日期的4 位数年 console.log(date.getUTCFullYear()) // setFullYear(year) 设置日期的年(year 必须是4 位数) console.log(date) date.setFullYear(2098) console.log(date) // setUTCFullYear(year) 设置UTC 日期的年(year 必须是4 位数) console.log(date) date.setUTCFullYear(1298) console.log(date) // getMonth() 返回日期的月(0 表示1 月,11 表示12 月) console.log(date.getMonth()) // getUTCMonth() 返回UTC 日期的月(0 表示1 月,11 表示12 月) console.log(date.getUTCMonth()) // setMonth(month) 设置日期的月(month 为大于0 的数值,大于11 加年) date.setMonth(11) console.log(date) // setUTCMonth(month) 设置UTC 日期的月(month 为大于0 的数值,大于11 加年) date.setUTCMonth(9) console.log(date) // getDate() 返回日期中的日(1~31) console.log(date.getDate()) // getUTCDate() 返回UTC 日期中的日(1~31) console.log(date.getUTCDate()) // setDate(date) 设置日期中的日(如果date 大于该月天数,则加月) date.setDate(21) console.log(date) // setUTCDate(date) 设置UTC 日期中的日(如果date 大于该月天数,则加月) date.setUTCDate(25) console.log(date) // getDay() 返回日期中表示周几的数值(0 表示周日,6 表示周六) console.log(date.getDay()) // getUTCDay() 返回UTC 日期中表示周几的数值(0 表示周日,6 表示周六) console.log(date.getUTCDay()) // getHours() 返回日期中的时(0~23) console.log(date.getHours()) // getUTCHours() 返回UTC 日期中的时(0~23) console.log(date.getUTCHours()) // setHours(hours) 设置日期中的时(如果hours 大于23,则加日) date.setHours(21) console.log(date) // setUTCHours(hours) 设置UTC 日期中的时(如果hours 大于23,则加日) date.setUTCHours(10) console.log(date) // getMinutes() 返回日期中的分(0~59) console.log(date.getMinutes()) // getUTCMinutes() 返回UTC 日期中的分(0~59) console.log(date.getUTCMinutes()) // setMinutes(minutes) 设置日期中的分(如果minutes 大于59,则加时) date.setMinutes(20) console.log(date) // setUTCMinutes(minutes) 设置UTC 日期中的分(如果minutes 大于59,则加时) date.setUTCMinutes(19) console.log(date) // getSeconds() 返回日期中的秒(0~59) console.log(date.getSeconds()) // getUTCSeconds() 返回UTC 日期中的秒(0~59) console.log(date.getUTCSeconds()) // setSeconds(seconds) 设置日期中的秒(如果seconds 大于59,则加分) date.setSeconds(29) console.log(date) // setUTCSeconds(seconds) 设置UTC 日期中的秒(如果seconds 大于59,则加分) date.setUTCSeconds(43) console.log(date) // getMilliseconds() 返回日期中的毫秒 console.log(date.getMilliseconds()) // getUTCMilliseconds() 返回UTC 日期中的毫秒 console.log(date.getUTCMilliseconds()) // setMilliseconds(milliseconds) 设置日期中的毫秒 date.setMilliseconds(123) console.log(date) // setUTCMilliseconds(milliseconds) 设置UTC 日期中的毫秒 date.setUTCMilliseconds(1234) // getTimezoneOffset() 返回以分钟计的UTC 与本地时区的偏移量(如美国EST 即“东部标准时间”返回300,进入夏令时的地区可能有所差异) console.log(date.getTimezoneOffset())