JavaScript

JavaScript 知识量:26 - 101 - 483

4.1 Date><

Date类型- 4.1.1 -

JavaScript 的 Date 类型用于处理日期和时间。它提供了一系列的方法和属性,可以用来操作日期和时间。

创建一个新的日期对象,可以使用 new Date() 构造函数。例如:

let date = new Date();

这将创建一个表示当前日期和时间的日期对象。

也可以在构造函数中提供一个日期字符串,以指定一个特定的日期和时间。例如:

let date = new Date('2023-06-20T14:30:00');

这将创建一个表示指定日期和时间的日期对象。

Date 对象有各种方法和属性,可以用来获取和操作日期和时间。例如:

  • getDate():获取月份的日期(1-31)

  • getDay():获取星期几(0-6,0为星期日)

  • getFullYear():获取年份(例如 2023)

  • getHours():获取小时数(0-23)

  • getMinutes():获取分钟数(0-59)

  • getSeconds():获取秒数(0-59)

  • getTime():获取日期对象的毫秒数,从1970年1月1日 00:00:00 UTC开始计算

  • getMonth():获取月份(0-11,0为一月)

  • getUTCHours()、getUTCMinutes()、getUTCSeconds():获取UTC时间的小时、分钟和秒

还可以使用 setDate()、setFullYear()、setHours()、setMinutes()、setSeconds()、setTime()、setMonth() 等方法来设置日期和时间。

JavaScript 的 Date 类型也提供了一些有用的常量,如 Date.UTC()、Date.parse() 和 Date.now()。

要注意的是,JavaScript 的日期和时间处理是依赖于浏览器的,因此可能会因为浏览器的不同而有所差异。在处理日期和时间时,应当考虑到时区的问题。

继承的方法- 4.1.2 -

JavaScript的Date类型从其原型链上继承了一些方法。尽管这些方法通常不如Date类型自身的实例方法那么常用,但了解它们仍然很重要。以下是JavaScript Date类型从其原型链上继承的一些方法:

  • isNaN(): 这个全局函数用于检测一个值是否为NaN。它返回一个布尔值,如果值是NaN则返回true,否则返回false。示例:isNaN(NaN) // true。

  • parseInt() 和 parseFloat(): 这两个全局函数用于将字符串解析为整数(parseInt)或浮点数(parseFloat)。示例:parseInt('123') // 123, parseFloat('123') // 123。

  • encodeURI() 和 decodeURI(): 这两个全局函数用于进行URL编码(encodeURI)和解码(decodeURI)。这主要涉及到将特殊字符转换为(或从)URL编码。示例:encodeURI('https://example.com?name=John'), decodeURI(encodedURL)。

  • Object.prototype methods: Date类型从其原型链上的Object.prototype中继承了许多方法。例如:toString()、toLocaleString()、valueOf()、hasOwnProperty()、isPrototypeOf()等等。

值得注意的是,Date类型本身的实例方法(如getFullYear(),getHours()等)通常更为常用。这些方法直接在Date对象上调用,而不是在Date的原型(Date.prototype)或者全局对象(window或this)上调用。

日期格式化方法- 4.1.3 -

JavaScript 的 Date 类型提供了一些方法来格式化日期。以下是一些常用的方法:

1. toDateString(): 这是一个将日期对象转换为字符串的方法,它会返回一个代表该日期对象相对本地时间的人类可读的字符串。

let date = new Date();  
console.log(date.toDateString());

这将会输出类似于 "Mon Oct 25 2021" 这样的字符串。
2. toLocaleDateString(): 此方法将日期对象转换为使用本地时间表示的日期字符串,同时考虑了时区和语言环境。

let date = new Date();  
console.log(date.toLocaleDateString());

这将会输出类似于 "25/10/2021, 12:00:00" 这样的字符串,具体的格式可能会根据不同的浏览器和操作系统有所不同。
3. toLocaleTimeString(): 此方法将日期对象转换为使用本地时间表示的时间字符串,同时考虑了时区和语言环境。

let date = new Date();  
console.log(date.toLocaleTimeString());

这将会输出类似于 "12:00:00" 这样的字符串。
4. toTimeString() 和 toUTCString(): 这两个方法可以将日期对象转换为时间字符串或UTC时间字符串。

let date = new Date();  
console.log(date.toTimeString()); // 输出类似于 "1633467600000" 的字符串  
console.log(date.toUTCString()); // 输出类似于 "Mon, 25 Oct 2021 12:00:00 GMT" 的字符串

toTimeString()输出的是本地时间,而toUTCString()` 输出的是UTC时间。
5. getDay()、getMonth()、getFullYear() 等: 这些方法用于获取日期对象的星期几、月份、年份等信息。

let date = new Date();  
console.log(date.getDay()); // 输出类似于 "1" 的数字,代表星期一(1)到星期日(7)  
console.log(date.getMonth()); // 输出类似于 "9" 的数字,代表一月(0)到十二月(11)  
console.log(date.getFullYear()); // 输出四位数的年份,例如 "2021"

日期/时间组件方法- 4.1.4 -

JavaScript的Date类型有很多可以用来获取和操作日期和时间组件的方法。以下是一些主要的方法:

  • getFullYear(): 返回Date对象的年份(四位数)。

  • getYear(): 返回Date对象的年份(两位数)。在较新的浏览器中,这个方法通常被弃用,建议使用getFullYear()。

  • getMonth(): 返回Date对象的月份(0-11)。注意,月份是从0开始计数的,所以1月是0,12月是11。

  • getDate(): 返回Date对象的一月中的日期(1-31)。

  • getDay(): 返回Date对象的一周中的日期(0-6,0为星期日)。

  • getHours(): 返回Date对象的小时数(0-23)。

  • getMinutes(): 返回Date对象的分钟数(0-59)。

  • getSeconds(): 返回Date对象的秒数(0-59)。

  • getMilliseconds(): 返回Date对象的毫秒数(0-999)。

  • getTime(): 返回Date对象距离1970年1月1日午夜的毫秒数。

  • getUTCFullYear(): 返回Date对象的UTC年份(四位数)。

  • getUTCFullYear(): 与getUTCFullYear()相同。在一些浏览器中已被弃用,推荐使用getUTCFullYear()。

  • getUTCMonth(): 返回Date对象的UTC月份(0-11)。

  • getUTCDate(): 返回Date对象的一月中的UTC日期(1-31)。

  • getUTCDay(): 返回Date对象的一周中的UTC日期(0-6,0为星期日)。

  • getUTCHours(): 返回Date对象的UTC小时数(0-23)。

  • getUTCMinutes(): 返回Date对象的UTC分钟数(0-59)。

  • getUTCSeconds(): 返回Date对象的UTC秒数(0-59)。

  • getUTCMilliseconds(): 返回Date对象的UTC毫秒数(0-999)。

  • getUTCTime(): 返回Date对象距离1970年1月1日午夜的UTC毫秒数。

Date对象还提供了set系列的方法,可以用来设置日期和时间的各个组件,如setFullYear()、setHours()等。