JS日期处理函数有哪些
在JavaScript中,日期和时间是经常需要处理的数据类型,为了方便地操作日期和时间,JavaScript提供了一些内置的日期处理函数,下面我们来详细介绍一下这些函数及其用法。
1. Date对象
Date对象表示一个特定的瞬间,精确到毫秒,它提供了一系列方法用于获取和设置日期和时间的各个部分,如年、月、日、时、分、秒等,以下是一些常用的Date对象方法:
getFullYear():返回年份,2022。
getMonth():返回月份,注意月份是从0开始的,所以1表示二月,因此返回值范围是0-11。
getDate():返回日期,即一个月中的哪一天,31。
getDay():返回星期几,0表示星期日,1表示星期一,依此类推。
getHours():返回小时,23。
getMinutes():返回分钟,59。
getSeconds():返回秒数,59。
setFullYear(y):设置年份。
setMonth(m):设置月份,注意月份是从0开始的,所以1表示二月,因此传入值范围是0-11。
setDate(d):设置日期,即一个月中的哪一天,31。
setHours(h):设置小时,23。
setMinutes(i):设置分钟,59。
setSeconds(s):设置秒数,59。
示例代码:
const date = new Date(); console.log(date.getFullYear()); // 输出年份 console.log(date.getMonth() + 1); // 输出月份(注意月份是从0开始的) console.log(date.getDate()); // 输出日期 console.log(date.getDay()); // 输出星期几 console.log(date.getHours()); // 输出小时 console.log(date.getMinutes()); // 输出分钟 console.log(date.getSeconds()); // 输出秒数
2. Date构造函数
Date构造函数可以用来创建一个指定日期和时间的Date对象,可以通过传递年、月、日、时、分、秒等参数来创建一个新的Date对象,如果省略某个参数,该参数将默认为当前值,以下是一些常用的Date构造函数参数:
year:年份,从0开始计算。
month:月份,从0开始计算,最大值为11。
day:日期,从1开始计算。
hours:小时,有效范围是0-23。
minutes:分钟,有效范围是0-59。
seconds:秒数,有效范围是0-59。
milliseconds:毫秒数,有效范围是0-999。
示例代码:
const date1 = new Date(2022, 0, 1); // 创建一个2022年1月1日的Date对象 const date2 = new Date(); // 创建一个当前时间的Date对象 console.log(date1); // 输出2022年1月1日的日期和时间 console.log(date2); // 输出当前日期和时间
3. Date对象的方法链式调用
由于Date对象的方法可以连续调用,因此可以使用方法链式调用的方式简化代码。
const now = new Date(); now.setHours(23).setMinutes(59).setSeconds(59).setMilliseconds(999); // 将当前时间设置为当天的最后一刻
4. toLocaleString()和toLocaleDateString()方法
这两个方法可以将Date对象转换为本地化的字符串格式,toLocaleString()方法返回一个包含日期和时间的字符串,而toLocaleDateString()方法只返回一个包含日期的字符串,这两个方法都接受两个可选参数:locales和options,分别用于指定区域设置和格式化选项,以下是一个示例:
const date = new Date(); console.log(date.toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' })); // 输出上海时区的本地化日期和时间字符串 console.log(date.toLocaleDateString('zh-CN', { timeZone: 'Asia/Shanghai' })); // 输出上海时区的本地化日期字符串
5. add/subtractMilliseconds()方法
这两个方法用于在不改变原始Date对象的情况下添加或减去指定的毫秒数,这两个方法都接受一个参数:milliseconds,表示要添加或减去的毫秒数,以下是一个示例:
const date = new Date(); date.addMilliseconds(1000); // 在当前时间上添加1000毫秒(1秒) date.subtractMilliseconds(500); // 在当前时间上减去500毫秒(半秒)
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/224241.html